Class: Aws::SNS::Types::PublishBatchRequestEntry
- Inherits:
-
Struct
- Object
- Struct
- Aws::SNS::Types::PublishBatchRequestEntry
- 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
-
#id ⇒ String
An identifier for the message in this batch.
-
#message ⇒ String
The body of the message.
-
#message_attributes ⇒ Hash<String,Types::MessageAttributeValue>
Each message attribute consists of a ‘Name`, `Type`, and `Value`.
-
#message_deduplication_id ⇒ String
This parameter applies only to FIFO (first-in-first-out) topics.
-
#message_group_id ⇒ String
This parameter applies only to FIFO (first-in-first-out) topics.
-
#message_structure ⇒ String
Set ‘MessageStructure` to `json` if you want to send a different message for each protocol.
-
#subject ⇒ String
The subject of the batch message.
Instance Attribute Details
#id ⇒ String
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>
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 ⇒ String
The body of the message.
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_attributes ⇒ Hash<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
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_id ⇒ String
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 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 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 “ (!“#$%&’()*+,-./:;<=>?@[]^_`{|}~) “.
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_id ⇒ String
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.
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_structure ⇒ String
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).
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 |
#subject ⇒ String
The subject of the batch message.
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 |