Class: Aws::SNS::Types::PublishBatchRequestEntry

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-sns/types.rb

Overview

Contains the details of a single Amazon SNS message along with an ‘Id` that identifies a message within the batch.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#idString

An identifier for the message in this batch.

<note markdown=“1”> The ‘Ids` of a batch request must be unique within a request.

This identifier can have up to 80 characters. The following

characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

</note>

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#messageString

The body of the message.

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#message_attributesHash<String,Types::MessageAttributeValue>

Each message attribute consists of a ‘Name`, `Type`, and `Value`. For more information, see [Amazon SNS message attributes] in the Amazon SNS Developer Guide.

[1]: docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html

Returns:



1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#message_deduplication_idString

This parameter applies only to FIFO (first-in-first-out) topics.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular ‘MessageDeduplicationId` is sent successfully, subsequent messages with the same `MessageDeduplicationId` are accepted successfully but aren’t delivered.

  • Every message must have a unique ‘MessageDeduplicationId`.

    • You may provide a ‘MessageDeduplicationId` explicitly.

    • If you aren’t able to provide a ‘MessageDeduplicationId` and you enable `ContentBasedDeduplication` for your topic, Amazon SNS uses a SHA-256 hash to generate the `MessageDeduplicationId` using the body of the message (but not the attributes of the message).

    • If you don’t provide a ‘MessageDeduplicationId` and the topic doesn’t have ‘ContentBasedDeduplication` set, the action fails with an error.

    • If the topic has a ‘ContentBasedDeduplication` set, your `MessageDeduplicationId` overrides the generated one.

  • When ‘ContentBasedDeduplication` is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • If you send one message with ‘ContentBasedDeduplication` enabled, and then another message with a `MessageDeduplicationId` that is the same as the one generated for the first `MessageDeduplicationId`, the two messages are treated as duplicates and only one copy of the message is delivered.

<note markdown=“1”> The ‘MessageDeduplicationId` is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost

and the message is resent with the same ‘MessageDeduplicationId` after the deduplication interval, Amazon SNS can’t detect duplicate messages.

Amazon SNS continues to keep track of the message deduplication ID

even after the message is received and deleted.

</note>

The length of ‘MessageDeduplicationId` is 128 characters.

‘MessageDeduplicationId` can contain alphanumeric characters `(a-z, A-Z, 0-9)` and punctuation “ (!“#$%&’()*+,-./:;<=>?@[]^_`{|}~) “.

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#message_group_idString

This parameter applies only to FIFO (first-in-first-out) topics.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single topic, use ‘MessageGroupId` values (for example, session data for multiple users). In this scenario, multiple consumers can process the topic, but the session data of each user is processed in a FIFO fashion.

You must associate a non-empty ‘MessageGroupId` with a message. If you don’t provide a ‘MessageGroupId`, the action fails.

The length of ‘MessageGroupId` is 128 characters.

‘MessageGroupId` can contain alphanumeric characters `(a-z, A-Z, 0-9)` and punctuation “ (!“#$%&’()*+,-./:;<=>?@[]^_`{|}~) “.

‘MessageGroupId` is required for FIFO topics. You can’t use it for standard topics.

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#message_structureString

Set ‘MessageStructure` to `json` if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set `MessageStructure` to `json`, the value of the `Message` parameter must:

  • be a syntactically valid JSON object; and

  • contain at least a top-level JSON key of “default” with a value that is a string.

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g. http).

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end

#subjectString

The subject of the batch message.

Returns:

  • (String)


1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
# File 'lib/aws-sdk-sns/types.rb', line 1816

class PublishBatchRequestEntry < Struct.new(
  :id,
  :message,
  :subject,
  :message_structure,
  :message_attributes,
  :message_deduplication_id,
  :message_group_id)
  SENSITIVE = []
  include Aws::Structure
end