Class: Google::Cloud::Storage::Notification
- Inherits:
-
Object
- Object
- Google::Cloud::Storage::Notification
- Defined in:
- lib/google/cloud/storage/notification.rb
Overview
Notification
Represents a Pub/Sub notification subscription for a Cloud Storage bucket.
See Bucket#create_notification, Bucket#notifications, and Bucket#notification.
Instance Attribute Summary collapse
-
#bucket ⇒ String
readonly
The name of the Bucket to which this notification belongs.
Instance Method Summary collapse
-
#api_url ⇒ String
A URL that can be used to access the notification using the REST API.
-
#custom_attrs ⇒ Hash(String => String)
The custom attributes of this notification.
-
#delete ⇒ Boolean
Permanently deletes the notification.
-
#event_types ⇒ Array<String>
The event types of this notification.
-
#id ⇒ String
The ID of the notification.
-
#kind ⇒ String
The kind of item this is.
-
#payload ⇒ String
The desired content of the Pub/Sub message payload.
-
#prefix ⇒ String
The file name prefix of this notification.
-
#topic ⇒ String
The Cloud Pub/Sub topic to which this subscription publishes.
Instance Attribute Details
#bucket ⇒ String (readonly)
The name of the Bucket to which this notification belongs.
53 54 55 |
# File 'lib/google/cloud/storage/notification.rb', line 53 def bucket @bucket end |
Instance Method Details
#api_url ⇒ String
A URL that can be used to access the notification using the REST API.
102 103 104 |
# File 'lib/google/cloud/storage/notification.rb', line 102 def api_url @gapi.self_link end |
#custom_attrs ⇒ Hash(String => String)
The custom attributes of this notification. An optional list of additional attributes to attach to each Cloud Pub/Sub message published for this notification subscription.
113 114 115 |
# File 'lib/google/cloud/storage/notification.rb', line 113 def custom_attrs @gapi.custom_attributes end |
#delete ⇒ Boolean
Permanently deletes the notification.
The API call to delete the notification may be retried under certain conditions. See Google::Cloud#storage to control this behavior.
209 210 211 212 213 |
# File 'lib/google/cloud/storage/notification.rb', line 209 def delete ensure_service! @service.delete_notification bucket, id, user_project: @user_project true end |
#event_types ⇒ Array<String>
The event types of this notification. If present, messages will only be sent for the listed event types. If empty, messages will be sent for all event types.
The following is a list of event types currently supported by Cloud Storage:
OBJECT_FINALIZE
- Sent when a new object (or a new generation of an existing object) is successfully created in the bucket. This includes copying or rewriting an existing object. A failed upload does not trigger this event.OBJECT_METADATA_UPDATE
- Sent when the metadata of an existing object changes.OBJECT_DELETE
- Sent when an object has been permanently deleted. This includes objects that are overwritten or are deleted as part of the bucket's lifecycle configuration. For buckets with object versioning enabled, this is not sent when an object is archived (seeOBJECT_ARCHIVE
), even if archival occurs via the File#delete method.OBJECT_ARCHIVE
- Only sent when a bucket has enabled object versioning. This event indicates that the live version of an object has become an archived version, either because it was archived or because it was overwritten by the upload of an object of the same name.
Important: Additional event types may be released later. Client code should either safely ignore unrecognized event types, or else explicitly specify in their notification configuration which event types they are prepared to accept.
150 151 152 |
# File 'lib/google/cloud/storage/notification.rb', line 150 def event_types @gapi.event_types end |
#id ⇒ String
The ID of the notification.
93 94 95 |
# File 'lib/google/cloud/storage/notification.rb', line 93 def id @gapi.id end |
#kind ⇒ String
The kind of item this is. For notifications, this is always storage#notification.
84 85 86 |
# File 'lib/google/cloud/storage/notification.rb', line 84 def kind @gapi.kind end |
#payload ⇒ String
The desired content of the Pub/Sub message payload. Acceptable values are:
JSON_API_V1
- The payload will be a UTF-8 string containing the resource representation of the file's metadata.NONE
- No payload is included with the notification.
177 178 179 |
# File 'lib/google/cloud/storage/notification.rb', line 177 def payload @gapi.payload_format end |
#prefix ⇒ String
The file name prefix of this notification. If present, only apply this notification configuration to file names that begin with this prefix.
161 162 163 |
# File 'lib/google/cloud/storage/notification.rb', line 161 def prefix @gapi.object_name_prefix end |
#topic ⇒ String
The Cloud Pub/Sub topic to which this subscription publishes.
Formatted as:
//pubsub.googleapis.com/projects/{project-id}/topics/{my-topic}
188 189 190 |
# File 'lib/google/cloud/storage/notification.rb', line 188 def topic @gapi.topic end |