Class: Google::Apis::CloudschedulerV1beta1::PubsubMessage

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

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PubsubMessage

Returns a new instance of PubsubMessage.



674
675
676
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 674

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

Instance Attribute Details

#attributesHash<String,String>

Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription. Corresponds to the JSON property attributes

Returns:

  • (Hash<String,String>)


639
640
641
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 639

def attributes
  @attributes
end

#dataString

Optional. The message data field. If this field is empty, the message must contain at least one attribute. Corresponds to the JSON property data NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


646
647
648
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 646

def data
  @data
end

#message_idString

ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by the publisher in a Publish call. Corresponds to the JSON property messageId

Returns:

  • (String)


654
655
656
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 654

def message_id
  @message_id
end

#ordering_keyString

Optional. If non-empty, identifies related messages for which publish order should be respected. If a Subscription has enable_message_ordering set to true, messages published with the same non-empty ordering_key value will be delivered to subscribers in the order in which they are received by the Pub/ Sub system. All PubsubMessages published in a given PublishRequest must specify the same ordering_key value. For more information, see ordering messages. Corresponds to the JSON property orderingKey

Returns:

  • (String)


665
666
667
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 665

def ordering_key
  @ordering_key
end

#publish_timeString

The time at which the message was published, populated by the server when it receives the Publish call. It must not be populated by the publisher in a Publish call. Corresponds to the JSON property publishTime

Returns:

  • (String)


672
673
674
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 672

def publish_time
  @publish_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



679
680
681
682
683
684
685
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 679

def update!(**args)
  @attributes = args[:attributes] if args.key?(:attributes)
  @data = args[:data] if args.key?(:data)
  @message_id = args[:message_id] if args.key?(:message_id)
  @ordering_key = args[:ordering_key] if args.key?(:ordering_key)
  @publish_time = args[:publish_time] if args.key?(:publish_time)
end