Class: Google::Apis::PubsubV1::ReceivedMessage

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/pubsub_v1/classes.rb,
lib/google/apis/pubsub_v1/representations.rb,
lib/google/apis/pubsub_v1/representations.rb

Overview

A message and its corresponding acknowledgment ID.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ReceivedMessage

Returns a new instance of ReceivedMessage.



1779
1780
1781
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1779

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#ack_idString

Optional. This ID can be used to acknowledge the received message. Corresponds to the JSON property ackId

Returns:

  • (String)


1752
1753
1754
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1752

def ack_id
  @ack_id
end

#delivery_attemptFixnum

Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + ( number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, delivery_attempt will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0. Corresponds to the JSON property deliveryAttempt

Returns:

  • (Fixnum)


1766
1767
1768
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1766

def delivery_attempt
  @delivery_attempt
end

#messageGoogle::Apis::PubsubV1::Message

A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding client library documentation for more information. See quotas and limits for more information about message limits. Corresponds to the JSON property message



1777
1778
1779
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1777

def message
  @message
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1784
1785
1786
1787
1788
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1784

def update!(**args)
  @ack_id = args[:ack_id] if args.key?(:ack_id)
  @delivery_attempt = args[:delivery_attempt] if args.key?(:delivery_attempt)
  @message = args[:message] if args.key?(:message)
end