SQS / Client / send_message
send_message#
- SQS.Client.send_message(**kwargs)#
- Delivers a message to the specified queue. - Warning - A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: - #x9|- #xA|- #xD|- #x20to- #xD7FF|- #xE000to- #xFFFD|- #x10000to- #x10FFFF- Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. - See also: AWS API Documentation - Request Syntax - response = client.send_message( QueueUrl='string', MessageBody='string', DelaySeconds=123, MessageAttributes={ 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, MessageSystemAttributes={ 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, MessageDeduplicationId='string', MessageGroupId='string' ) - Parameters:
- QueueUrl (string) – - [REQUIRED] - The URL of the Amazon SQS queue to which a message is sent. - Queue URLs and names are case-sensitive. 
- MessageBody (string) – - [REQUIRED] - The message to send. The minimum size is one character. The maximum size is 256 KB. - Warning - A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: - #x9|- #xA|- #xD|- #x20to- #xD7FF|- #xE000to- #xFFFD|- #x10000to- #x10FFFF- Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. 
- DelaySeconds (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 - DelaySecondsvalue 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 - When you set - FifoQueue, you can’t set- DelaySecondsper message. You can set this parameter only on a queue level.
- MessageAttributes (dict) – - Each message attribute consists of a - Name,- Type, and- Value. For more information, see Amazon SQS message attributes in the Amazon SQS Developer Guide .- (string) – - (dict) – - The user-specified message attribute value. For string data types, the - Valueattribute has the same restrictions on the content as the message body. For more information, see- SendMessage.- Name,- type,- valueand the message body must not be empty or null. All parts of the message attribute, including- Name,- Type, and- Value, are part of the message size restriction (256 KB or 262,144 bytes).- StringValue (string) – - Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters. 
- BinaryValue (bytes) – - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images. 
- StringListValues (list) – - Not implemented. Reserved for future use. - (string) – 
 
- BinaryListValues (list) – - Not implemented. Reserved for future use. - (bytes) – 
 
- DataType (string) – [REQUIRED] - Amazon SQS supports the following logical data types: - String,- Number, and- Binary. For the- Numberdata type, you must use- StringValue.- You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon SQS Developer Guide . 
 
 
 
- MessageSystemAttributes (dict) – - The message system attribute to send. Each message system attribute consists of a - Name,- Type, and- Value.- Warning - Currently, the only supported message system attribute is - AWSTraceHeader. Its type must be- Stringand 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. 
 - (string) – - (dict) – - The user-specified message system attribute value. For string data types, the - Valueattribute has the same restrictions on the content as the message body. For more information, see- SendMessage.- Name,- type,- valueand the message body must not be empty or null.- StringValue (string) – - Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters. 
- BinaryValue (bytes) – - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images. 
- StringListValues (list) – - Not implemented. Reserved for future use. - (string) – 
 
- BinaryListValues (list) – - Not implemented. Reserved for future use. - (bytes) – 
 
- DataType (string) – [REQUIRED] - Amazon SQS supports the following logical data types: - String,- Number, and- Binary. For the- Numberdata type, you must use- StringValue.- You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon SQS Developer Guide . 
 
 
 
- MessageDeduplicationId (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 - MessageDeduplicationIdis sent successfully, any messages sent with the same- MessageDeduplicationIdare 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 - MessageDeduplicationIdexplicitly.
- If you aren’t able to provide a - MessageDeduplicationIdand you enable- ContentBasedDeduplicationfor your queue, Amazon SQS uses a SHA-256 hash to generate the- MessageDeduplicationIdusing the body of the message (but not the attributes of the message).
- If you don’t provide a - MessageDeduplicationIdand the queue doesn’t have- ContentBasedDeduplicationset, the action fails with an error.
- If the queue has - ContentBasedDeduplicationset, your- MessageDeduplicationIdoverrides the generated one.
 
- When - ContentBasedDeduplicationis 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 - ContentBasedDeduplicationenabled and then another message with a- MessageDeduplicationIdthat 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 - The - MessageDeduplicationIdis 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 - MessageDeduplicationIdafter the deduplication interval, Amazon SQS can’t detect duplicate messages.- Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted. - The maximum length of - MessageDeduplicationIdis 128 characters.- MessageDeduplicationIdcan 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 .
- MessageGroupId (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 - MessageGroupIdvalues (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 - MessageGroupIdwith a message. If you don’t provide a- MessageGroupId, the action fails.
- ReceiveMessagemight return messages with multiple- MessageGroupIdvalues. For each- MessageGroupId, the messages are sorted by time sent. The caller can’t specify a- MessageGroupId.
 - The length of - MessageGroupIdis 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 .- Warning - MessageGroupIdis required for FIFO queues. You can’t use it for Standard queues.
 
- Return type:
- dict 
- Returns:
- Response Syntax - { 'MD5OfMessageBody': 'string', 'MD5OfMessageAttributes': 'string', 'MD5OfMessageSystemAttributes': 'string', 'MessageId': 'string', 'SequenceNumber': 'string' } - Response Structure - (dict) – - The - MD5OfMessageBodyand- MessageIdelements.- MD5OfMessageBody (string) – - An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321. 
- MD5OfMessageAttributes (string) – - An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321. 
- MD5OfMessageSystemAttributes (string) – - An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. 
- MessageId (string) – - An attribute containing the - MessageIdof the message sent to the queue. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide .
- SequenceNumber (string) – - This parameter applies only to FIFO (first-in-first-out) queues. - The large, non-consecutive number that Amazon SQS assigns to each message. - The length of - SequenceNumberis 128 bits.- SequenceNumbercontinues to increase for a particular- MessageGroupId.
 
 
 - Exceptions - SQS.Client.exceptions.InvalidMessageContents
- SQS.Client.exceptions.UnsupportedOperation