Notification

Support for bucket notification resources.

class google.cloud.storage.notification.BucketNotification(bucket, topic_name, topic_project=None, custom_attributes=None, event_types=None, blob_name_prefix=None, payload_format='NONE')

Bases: object

Represent a single notification resource for a bucket.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications

  • Parameters

    • bucket (google.cloud.storage.bucket.Bucket) – Bucket to which the notification is bound.

    • topic_name (str) – Topic name to which notifications are published.

    • topic_project (str) – (Optional) project ID of topic to which notifications are published. If not passed, uses the project ID of the bucket’s client.

    • custom_attributes (dict) – (Optional) additional attributes passed with notification events.

    • event_types (list(str)) – (Optional) event types for which notificatin events are published.

    • blob_name_prefix (str) – (Optional) prefix of blob names for which notification events are published..

    • payload_format (str) – (Optional) format of payload for notification events.

property blob_name_prefix()

Prefix of blob names for which notification events are published.

property bucket()

Bucket to which the notification is bound.

property client()

The client bound to this notfication.

create(client=None, timeout=60)

API wrapper: create the notification.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications/insert

If user_project is set on the bucket, bills the API request to that project.

  • Parameters

    • client (Client) – (Optional) the client to use. If not passed, falls back to the client stored on the notification’s bucket.

    • timeout (float* or [tuple*](https://python.readthedocs.io/en/latest/library/stdtypes.html#tuple)) – (optional) The amount of time, in seconds, to wait for the server response.

      Can also be passed as a tuple (connect_timeout, read_timeout). See requests.Session.request() documentation for details.

property custom_attributes()

Custom attributes passed with notification events.

delete(client=None, timeout=60)

Delete this notification.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications/delete

If user_project is set on the bucket, bills the API request to that project.

property etag()

Server-set ETag of notification resource.

property event_types()

Event types for which notification events are published.

exists(client=None, timeout=60)

Test whether this notification exists.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications/get

If user_project is set on the bucket, bills the API request to that project.

  • Parameters

    • client (Client or NoneType) – Optional. The client to use. If not passed, falls back to the client stored on the current bucket.

    • timeout (float* or [tuple*](https://python.readthedocs.io/en/latest/library/stdtypes.html#tuple)) – (optional) The amount of time, in seconds, to wait for the server response.

      Can also be passed as a tuple (connect_timeout, read_timeout). See requests.Session.request() documentation for details.

  • Return type

    bool

  • Returns

    True, if the notification exists, else False.

  • Raises

    ValueError – if the notification has no ID.

classmethod from_api_repr(resource, bucket)

Construct an instance from the JSON repr returned by the server.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications

  • Parameters

  • Return type

    BucketNotification

  • Returns

    the new notification instance

property notification_id()

Server-set ID of notification resource.

property path()

The URL path for this notification.

property payload_format()

Format of payload of notification events.

reload(client=None, timeout=60)

Update this notification from the server configuration.

See: https://cloud.google.com/storage/docs/json_api/v1/notifications/get

If user_project is set on the bucket, bills the API request to that project.

  • Parameters

    • client (Client or NoneType) – Optional. The client to use. If not passed, falls back to the client stored on the current bucket.

    • timeout (float* or [tuple*](https://python.readthedocs.io/en/latest/library/stdtypes.html#tuple)) – (optional) The amount of time, in seconds, to wait for the server response.

      Can also be passed as a tuple (connect_timeout, read_timeout). See requests.Session.request() documentation for details.

  • Return type

    bool

  • Returns

    True, if the notification exists, else False.

  • Raises

    ValueError – if the notification has no ID.

Server-set ETag of notification resource.

property topic_name()

Topic name to which notifications are published.

property topic_project()

Project ID of topic to which notifications are published.