On January 1, 2020 this library will no longer support Python 2 on the latest released version. Previously released library versions will continue to be available. For more information please visit Python 2 support on Google Cloud.

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')[source]

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)[source]

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) –

    (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)[source]

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.

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) –

    (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.

Raises

google.api_core.exceptions.NotFound: if the notification does not exist.

Raises

ValueError – if the notification has no ID.

property etag

Server-set ETag of notification resource.

property event_types

Event types for which notification events are published.

exists(client=None, timeout=60)[source]

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) –

    (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)[source]

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)[source]

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) –

    (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.