Class: Google::Apis::PubsubV1::Subscription
- Inherits:
-
Object
- Object
- Google::Apis::PubsubV1::Subscription
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/pubsub_v1/classes.rb,
generated/google/apis/pubsub_v1/representations.rb,
generated/google/apis/pubsub_v1/representations.rb
Overview
A subscription resource.
Instance Attribute Summary collapse
-
#ack_deadline_seconds ⇒ Fixnum
The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message.
-
#dead_letter_policy ⇒ Google::Apis::PubsubV1::DeadLetterPolicy
Dead lettering is done on a best effort basis.
-
#detached ⇒ Boolean
(also: #detached?)
Indicates whether the subscription is detached from its topic.
-
#enable_message_ordering ⇒ Boolean
(also: #enable_message_ordering?)
If true, messages published with the same
ordering_key
inPubsubMessage
will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. -
#expiration_policy ⇒ Google::Apis::PubsubV1::ExpirationPolicy
A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).
-
#filter ⇒ String
An expression written in the Pub/Sub filter language.
-
#labels ⇒ Hash<String,String>
See Creating and managing labels.
-
#message_retention_duration ⇒ String
How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published.
-
#name ⇒ String
Required.
-
#push_config ⇒ Google::Apis::PubsubV1::PushConfig
Configuration for a push delivery endpoint.
-
#retain_acked_messages ⇒ Boolean
(also: #retain_acked_messages?)
Indicates whether to retain acknowledged messages.
-
#retry_policy ⇒ Google::Apis::PubsubV1::RetryPolicy
A policy that specifies how Cloud Pub/Sub retries message delivery.
-
#topic ⇒ String
Required.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Subscription
constructor
A new instance of Subscription.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Subscription
Returns a new instance of Subscription.
1163 1164 1165 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1163 def initialize(**args) update!(**args) end |
Instance Attribute Details
#ack_deadline_seconds ⇒ Fixnum
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
1064 1065 1066 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1064 def ack_deadline_seconds @ack_deadline_seconds end |
#dead_letter_policy ⇒ Google::Apis::PubsubV1::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
1072 1073 1074 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1072 def dead_letter_policy @dead_letter_policy end |
#detached ⇒ Boolean Also known as: detached?
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
1081 1082 1083 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1081 def detached @detached end |
#enable_message_ordering ⇒ Boolean Also known as: enable_message_ordering?
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
1089 1090 1091 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1089 def @enable_message_ordering end |
#expiration_policy ⇒ Google::Apis::PubsubV1::ExpirationPolicy
A policy that specifies the conditions for resource expiration (i.e.,
automatic resource deletion).
Corresponds to the JSON property expirationPolicy
1096 1097 1098 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1096 def expiration_policy @expiration_policy end |
#filter ⇒ String
An expression written in the Pub/Sub filter language. If non-empty, then only PubsubMessage
s 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
1104 1105 1106 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1104 def filter @filter end |
#labels ⇒ Hash<String,String>
See Creating and managing labels.
Corresponds to the JSON property labels
1109 1110 1111 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1109 def labels @labels end |
#message_retention_duration ⇒ String
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 7 days or less than 10 minutes.
Corresponds to the JSON property messageRetentionDuration
1118 1119 1120 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1118 def @message_retention_duration end |
#name ⇒ String
Required. The name of the subscription. It must have the format "projects/
project/subscriptions/
subscription"
. subscription
must start with a
letter, and contain only letters ([A-Za-z]
), numbers ([0-9]
), dashes (-
),
underscores (_
), periods (.
), tildes (~
), plus (+
) or percent signs (
%
). It must be between 3 and 255 characters in length, and it must not start
with "goog"
.
Corresponds to the JSON property name
1128 1129 1130 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1128 def name @name end |
#push_config ⇒ Google::Apis::PubsubV1::PushConfig
Configuration for a push delivery endpoint.
Corresponds to the JSON property pushConfig
1133 1134 1135 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1133 def push_config @push_config end |
#retain_acked_messages ⇒ Boolean Also known as: retain_acked_messages?
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.
Corresponds to the JSON property retainAckedMessages
1142 1143 1144 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1142 def @retain_acked_messages end |
#retry_policy ⇒ Google::Apis::PubsubV1::RetryPolicy
A policy that specifies how Cloud 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
1154 1155 1156 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1154 def retry_policy @retry_policy end |
#topic ⇒ String
Required. The name of the topic from which this subscription is receiving
messages. Format is projects/
project/topics/
topic`. The value of this
field will be
deleted-topicif the topic has been deleted.
Corresponds to the JSON property
topic`
1161 1162 1163 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1161 def topic @topic end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 |
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1168 def update!(**args) @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds) @dead_letter_policy = args[:dead_letter_policy] if args.key?(:dead_letter_policy) @detached = args[:detached] if args.key?(:detached) @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) @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) @topic = args[:topic] if args.key?(:topic) end |