Class: Google::Apis::AnalyticshubV1::GooglePubsubV1Subscription
- Inherits:
-
Object
- Object
- Google::Apis::AnalyticshubV1::GooglePubsubV1Subscription
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/analyticshub_v1/classes.rb,
lib/google/apis/analyticshub_v1/representations.rb,
lib/google/apis/analyticshub_v1/representations.rb
Overview
Defines the destination Pub/Sub subscription. If none of push_config,
bigquery_config, cloud_storage_config, bigtable_config,
pubsub_export_config, or pubsublite_export_config is set, then the
subscriber will pull and ack messages using API methods. At most one of these
fields may be set.
Instance Attribute Summary collapse
-
#ack_deadline_seconds ⇒ Fixnum
Optional.
-
#bigquery_config ⇒ Google::Apis::AnalyticshubV1::BigQueryConfig
Configuration for a BigQuery subscription.
-
#bigtable_config ⇒ Google::Apis::AnalyticshubV1::BigtableConfig
Configuration for a Bigtable subscription.
-
#cloud_storage_config ⇒ Google::Apis::AnalyticshubV1::CloudStorageConfig
Configuration for a Cloud Storage subscription.
-
#dead_letter_policy ⇒ Google::Apis::AnalyticshubV1::DeadLetterPolicy
Dead lettering is done on a best effort basis.
-
#detached ⇒ Boolean
(also: #detached?)
Optional.
-
#enable_exactly_once_delivery ⇒ Boolean
(also: #enable_exactly_once_delivery?)
Optional.
-
#enable_message_ordering ⇒ Boolean
(also: #enable_message_ordering?)
Optional.
-
#expiration_policy ⇒ Google::Apis::AnalyticshubV1::ExpirationPolicy
A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).
-
#filter ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#message_retention_duration ⇒ String
Optional.
-
#message_transforms ⇒ Array<Google::Apis::AnalyticshubV1::MessageTransform>
Optional.
-
#name ⇒ String
Required.
-
#push_config ⇒ Google::Apis::AnalyticshubV1::PushConfig
Configuration for a push delivery endpoint.
-
#retain_acked_messages ⇒ Boolean
(also: #retain_acked_messages?)
Optional.
-
#retry_policy ⇒ Google::Apis::AnalyticshubV1::RetryPolicy
A policy that specifies how Pub/Sub retries message delivery.
-
#tags ⇒ Hash<String,String>
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GooglePubsubV1Subscription
constructor
A new instance of GooglePubsubV1Subscription.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GooglePubsubV1Subscription
Returns a new instance of GooglePubsubV1Subscription.
1282 1283 1284 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1282 def initialize(**args) update!(**args) end |
Instance Attribute Details
#ack_deadline_seconds ⇒ Fixnum
Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
waits for the subscriber to acknowledge receipt before resending the message.
In the interval after the message is delivered and before it is acknowledged,
it is considered to be outstanding. During that time period, the message
will not be redelivered (on a best-effort basis). For pull subscriptions, this
value is used as the initial value for the ack deadline. To override this
value for a given message, call ModifyAckDeadline with the corresponding
ack_id if using non-streaming pull or send the ack_id in a
StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom
deadline you can specify is 10 seconds. The maximum custom deadline you can
specify is 600 seconds (10 minutes). If this parameter is 0, a default value
of 10 seconds is used. For push delivery, this value is also used to set the
request timeout for the call to the push endpoint. If the subscriber never
acknowledges the message, the Pub/Sub system will eventually redeliver the
message.
Corresponds to the JSON property ackDeadlineSeconds
1145 1146 1147 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1145 def ack_deadline_seconds @ack_deadline_seconds end |
#bigquery_config ⇒ Google::Apis::AnalyticshubV1::BigQueryConfig
Configuration for a BigQuery subscription.
Corresponds to the JSON property bigqueryConfig
1150 1151 1152 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1150 def bigquery_config @bigquery_config end |
#bigtable_config ⇒ Google::Apis::AnalyticshubV1::BigtableConfig
Configuration for a Bigtable subscription. The Pub/Sub message will be written
to a Bigtable row as follows: - row key: subscription name, message ID hash,
and message ID delimited by #. - columns: message bytes written to a single
column family data with an empty-string column qualifier. - cell timestamp:
the message publish timestamp.
Corresponds to the JSON property bigtableConfig
1159 1160 1161 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1159 def bigtable_config @bigtable_config end |
#cloud_storage_config ⇒ Google::Apis::AnalyticshubV1::CloudStorageConfig
Configuration for a Cloud Storage subscription.
Corresponds to the JSON property cloudStorageConfig
1164 1165 1166 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1164 def cloud_storage_config @cloud_storage_config end |
#dead_letter_policy ⇒ Google::Apis::AnalyticshubV1::DeadLetterPolicy
Dead lettering is done on a best effort basis. The same message might be dead
lettered multiple times. If validation on any of the fields fails at
subscription creation/updation, the create/update subscription request will
fail.
Corresponds to the JSON property deadLetterPolicy
1172 1173 1174 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1172 def dead_letter_policy @dead_letter_policy end |
#detached ⇒ Boolean Also known as: detached?
Optional. Indicates whether the subscription is detached from its topic.
Detached subscriptions don't receive messages from their topic and don't
retain any backlog. Pull and StreamingPull requests will return
FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the
endpoint will not be made.
Corresponds to the JSON property detached
1181 1182 1183 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1181 def detached @detached end |
#enable_exactly_once_delivery ⇒ Boolean Also known as: enable_exactly_once_delivery?
Optional. If true, Pub/Sub provides the following guarantees for the delivery
of a message with a given value of message_id on this subscription: * The
message sent to a subscriber is guaranteed not to be resent before the message'
s acknowledgement deadline expires. * An acknowledged message will not be
resent to a subscriber. Note that subscribers may still receive multiple
copies of a message when enable_exactly_once_delivery is true if the message
was published multiple times by a publisher client. These copies are
considered distinct by Pub/Sub and have distinct message_id values.
Corresponds to the JSON property enableExactlyOnceDelivery
1194 1195 1196 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1194 def enable_exactly_once_delivery @enable_exactly_once_delivery end |
#enable_message_ordering ⇒ Boolean Also known as: enable_message_ordering?
Optional. If true, messages published with the same ordering_key in
PubsubMessage will be delivered to the subscribers in the order in which they
are received by the Pub/Sub system. Otherwise, they may be delivered in any
order.
Corresponds to the JSON property enableMessageOrdering
1203 1204 1205 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1203 def @enable_message_ordering end |
#expiration_policy ⇒ Google::Apis::AnalyticshubV1::ExpirationPolicy
A policy that specifies the conditions for resource expiration (i.e.,
automatic resource deletion).
Corresponds to the JSON property expirationPolicy
1210 1211 1212 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1210 def expiration_policy @expiration_policy end |
#filter ⇒ String
Optional. An expression written in the Pub/Sub filter language. If non-empty, then only PubsubMessages
whose attributes field matches the filter are delivered on this subscription.
If empty, then no messages are filtered out.
Corresponds to the JSON property filter
1218 1219 1220 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1218 def filter @filter end |
#labels ⇒ Hash<String,String>
Optional. See Creating and managing labels.
Corresponds to the JSON property labels
1224 1225 1226 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1224 def labels @labels end |
#message_retention_duration ⇒ String
Optional. How long to retain unacknowledged messages in the subscription's
backlog, from the moment a message is published. If retain_acked_messages is
true, then this also configures the retention of acknowledged messages, and
thus configures how far back in time a Seek can be done. Defaults to 7 days.
Cannot be more than 31 days or less than 10 minutes.
Corresponds to the JSON property messageRetentionDuration
1233 1234 1235 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1233 def @message_retention_duration end |
#message_transforms ⇒ Array<Google::Apis::AnalyticshubV1::MessageTransform>
Optional. Transforms to be applied to messages before they are delivered to
subscribers. Transforms are applied in the order specified.
Corresponds to the JSON property messageTransforms
1239 1240 1241 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1239 def @message_transforms end |
#name ⇒ String
Required. Identifier. Name of the subscription. Format is projects/project/
subscriptions/sub`.
Corresponds to the JSON propertyname`
1245 1246 1247 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1245 def name @name end |
#push_config ⇒ Google::Apis::AnalyticshubV1::PushConfig
Configuration for a push delivery endpoint.
Corresponds to the JSON property pushConfig
1250 1251 1252 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1250 def push_config @push_config end |
#retain_acked_messages ⇒ Boolean Also known as: retain_acked_messages?
Optional. Indicates whether to retain acknowledged messages. If true, then
messages are not expunged from the subscription's backlog, even if they are
acknowledged, until they fall out of the message_retention_duration window.
This must be true if you would like to Seek to a timestamp in the past to replay
previously-acknowledged messages.
Corresponds to the JSON property retainAckedMessages
1260 1261 1262 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1260 def @retain_acked_messages end |
#retry_policy ⇒ Google::Apis::AnalyticshubV1::RetryPolicy
A policy that specifies how Pub/Sub retries message delivery. Retry delay will
be exponential based on provided minimum and maximum backoffs. https://en.
wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs
or acknowledgement deadline exceeded events for a given message. Retry Policy
is implemented on a best effort basis. At times, the delay between consecutive
deliveries may not match the configuration. That is, delay can be more or less
than configured backoff.
Corresponds to the JSON property retryPolicy
1272 1273 1274 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1272 def retry_policy @retry_policy end |
#tags ⇒ Hash<String,String>
Optional. Input only. Immutable. Tag keys/values directly bound to this
resource. For example: "123/environment": "production", "123/costCenter": "
marketing" See https://$universe.dns_names.final_documentation_domain/pubsub/
docs/tags for more information on using tags with Pub/Sub resources.
Corresponds to the JSON property tags
1280 1281 1282 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1280 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 |
# File 'lib/google/apis/analyticshub_v1/classes.rb', line 1287 def update!(**args) @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds) @bigquery_config = args[:bigquery_config] if args.key?(:bigquery_config) @bigtable_config = args[:bigtable_config] if args.key?(:bigtable_config) @cloud_storage_config = args[:cloud_storage_config] if args.key?(:cloud_storage_config) @dead_letter_policy = args[:dead_letter_policy] if args.key?(:dead_letter_policy) @detached = args[:detached] if args.key?(:detached) @enable_exactly_once_delivery = args[:enable_exactly_once_delivery] if args.key?(:enable_exactly_once_delivery) @enable_message_ordering = args[:enable_message_ordering] if args.key?(:enable_message_ordering) @expiration_policy = args[:expiration_policy] if args.key?(:expiration_policy) @filter = args[:filter] if args.key?(:filter) @labels = args[:labels] if args.key?(:labels) @message_retention_duration = args[:message_retention_duration] if args.key?(:message_retention_duration) @message_transforms = args[:message_transforms] if args.key?(:message_transforms) @name = args[:name] if args.key?(:name) @push_config = args[:push_config] if args.key?(:push_config) @retain_acked_messages = args[:retain_acked_messages] if args.key?(:retain_acked_messages) @retry_policy = args[:retry_policy] if args.key?(:retry_policy) @tags = args[:tags] if args.key?(:tags) end |