As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date 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=None, topic_project=None, custom_attributes=None, event_types=None, blob_name_prefix=None, payload_format='NONE', notification_id=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) – (Optional) 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 notification 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.

  • notification_id (str) – (Optional) The ID of the notification.

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, retry=None)[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
property custom_attributes

Custom attributes passed with notification events.

delete(client=None, timeout=60, retry=<google.api_core.retry.Retry object>)[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
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, retry=<google.api_core.retry.Retry object>)[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
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, retry=<google.api_core.retry.Retry object>)[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
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.