Class: Aws::SQS::Types::SendMessageRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::SQS::Types::SendMessageRequest
- Includes:
- Aws::Structure
- Defined in:
- lib/aws-sdk-sqs/types.rb
Overview
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#delay_seconds ⇒ Integer
The length of time, in seconds, for which to delay a specific message.
-
#message_attributes ⇒ Hash<String,Types::MessageAttributeValue>
Each message attribute consists of a ‘Name`, `Type`, and `Value`.
-
#message_body ⇒ String
The message to send.
-
#message_deduplication_id ⇒ String
This parameter applies only to FIFO (first-in-first-out) queues.
-
#message_group_id ⇒ String
This parameter applies only to FIFO (first-in-first-out) queues.
-
#message_system_attributes ⇒ Hash<String,Types::MessageSystemAttributeValue>
The message system attribute to send.
-
#queue_url ⇒ String
The URL of the Amazon SQS queue to which a message is sent.
Instance Attribute Details
#delay_seconds ⇒ Integer
The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive ‘DelaySeconds` value become available for processing after the delay period is finished. If you don’t specify a value, the default value for the queue applies.
<note markdown=“1”> When you set ‘FifoQueue`, you can’t set ‘DelaySeconds` per message. You can set this parameter only on a queue level.
</note>
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_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 SQS message attributes] in the *Amazon SQS Developer Guide*.
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_attributes, :message_deduplication_id, :message_group_id) SENSITIVE = [] include Aws::Structure end |
#message_body ⇒ String
The message to send. The minimum size is one character. The maximum size is 256 KiB.
A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed. For more information, see the [W3C specification for characters].
`#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to
‘#xFFFD` | `#x10000` to `#x10FFFF`
Amazon SQS does not throw an exception or completely reject the
message if it contains invalid characters. Instead, it replaces those invalid characters with ‘U+FFFD` before storing the message in the queue, as long as the message body contains at least one valid character.
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_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) queues.
The token used for deduplication of sent messages. If a message with a particular ‘MessageDeduplicationId` is sent successfully, any messages sent with the same `MessageDeduplicationId` are accepted successfully but aren’t delivered during the 5-minute deduplication interval. For more information, see [ Exactly-once processing] in the *Amazon SQS Developer Guide*.
-
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 queue, Amazon SQS 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 queue doesn’t have ‘ContentBasedDeduplication` set, the action fails with an error.
-
If the queue has ‘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 SQS can’t detect duplicate messages.
Amazon SQS continues to keep track of the deduplication ID
even after the message is received and deleted.
</note>
The maximum length of ‘MessageDeduplicationId` is 128 characters. `MessageDeduplicationId` can contain alphanumeric characters (`a-z`, `A-Z`, `0-9`) and punctuation (“ !“#$%&’()*+,-./:;<=>?@[]^_`{|}~ “).
For best practices of using ‘MessageDeduplicationId`, see [Using the MessageDeduplicationId Property] in the *Amazon SQS Developer Guide*.
[1]: docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html [2]: docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_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) queues.
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 queue, use ‘MessageGroupId` values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, 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.
-
‘ReceiveMessage` might return messages with multiple `MessageGroupId` values. For each `MessageGroupId`, the messages are sorted by time sent. The caller can’t specify a ‘MessageGroupId`.
The maximum length of ‘MessageGroupId` is 128 characters. Valid values: alphanumeric characters and punctuation “ (!“#$%&’()*+,-./:;<=>?@[]^_`{|}~) “.
For best practices of using ‘MessageGroupId`, see [Using the MessageGroupId Property] in the *Amazon SQS Developer Guide*.
‘MessageGroupId` is required for FIFO queues. You can’t use it for Standard queues.
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_attributes, :message_deduplication_id, :message_group_id) SENSITIVE = [] include Aws::Structure end |
#message_system_attributes ⇒ Hash<String,Types::MessageSystemAttributeValue>
The message system attribute to send. Each message system attribute consists of a ‘Name`, `Type`, and `Value`.
-
Currently, the only supported message system attribute is ‘AWSTraceHeader`. Its type must be `String` and its value must be a correctly formatted X-Ray trace header string.
-
The size of a message system attribute doesn’t count towards the total size of a message.
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_attributes, :message_deduplication_id, :message_group_id) SENSITIVE = [] include Aws::Structure end |
#queue_url ⇒ String
The URL of the Amazon SQS queue to which a message is sent.
Queue URLs and names are case-sensitive.
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/aws-sdk-sqs/types.rb', line 2411 class SendMessageRequest < Struct.new( :queue_url, :message_body, :delay_seconds, :message_attributes, :message_system_attributes, :message_deduplication_id, :message_group_id) SENSITIVE = [] include Aws::Structure end |