/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.sqs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SendMessageRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** The URL of the Amazon SQS queue to which a message is sent. *
** Queue URLs and names are case-sensitive. *
*/ private String queueUrl; /** ** 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: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
*
* 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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
* Each message attribute consists of a Name
, Type
, and Value
. For more
* information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*
* 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. *
** 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.
*
* 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 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 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.
*
* 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 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.
*
* Queue URLs and names are case-sensitive. * @param messageBody * 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: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
*/ public SendMessageRequest(String queueUrl, String messageBody) { setQueueUrl(queueUrl); setMessageBody(messageBody); } /** ** The URL of the Amazon SQS queue to which a message is sent. *
** Queue URLs and names are case-sensitive. *
* * @param queueUrl * The URL of the Amazon SQS queue to which a message is sent. ** Queue URLs and names are case-sensitive. */ public void setQueueUrl(String queueUrl) { this.queueUrl = queueUrl; } /** *
* The URL of the Amazon SQS queue to which a message is sent. *
** Queue URLs and names are case-sensitive. *
* * @return The URL of the Amazon SQS queue to which a message is sent. ** Queue URLs and names are case-sensitive. */ public String getQueueUrl() { return this.queueUrl; } /** *
* The URL of the Amazon SQS queue to which a message is sent. *
** Queue URLs and names are case-sensitive. *
* * @param queueUrl * The URL of the Amazon SQS queue to which a message is sent. ** Queue URLs and names are case-sensitive. * @return Returns a reference to this object so that method calls can be chained together. */ public SendMessageRequest withQueueUrl(String queueUrl) { setQueueUrl(queueUrl); return this; } /** *
* 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: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
** A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
*/ public void setMessageBody(String messageBody) { this.messageBody = messageBody; } /** ** 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: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
** A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
*/ public String getMessageBody() { return this.messageBody; } /** ** 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: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
** A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: *
*
* #x9
| #xA
| #xD
| #x20
to #xD7FF
|
* #xE000
to #xFFFD
| #x10000
to #x10FFFF
*
* Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. *
* @return Returns a reference to this object so that method calls can be chained together. */ public SendMessageRequest withMessageBody(String messageBody) { setMessageBody(messageBody); return this; } /** *
* 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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
* 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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
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.
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set
* this parameter only on a queue level.
*
* 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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
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.
*
* When you set FifoQueue
, you can't set DelaySeconds
per message. You can set this
* parameter only on a queue level.
*
* Each message attribute consists of a Name
, Type
, and Value
. For more
* information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*
Name
, Type
, and Value
. For
* more information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*/
public java.util.Map
* Each message attribute consists of a Name
, Type
, and Value
. For more
* information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*
Name
, Type
, and Value
. For
* more information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*/
public void setMessageAttributes(java.util.Map
* Each message attribute consists of a Name
, Type
, and Value
. For more
* information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
*
Name
, Type
, and Value
. For
* more information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SendMessageRequest withMessageAttributes(java.util.Map
* 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. *
*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. *
*
* 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. *
*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. *
*
* 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. *
*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. *
** 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.
*
* 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 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 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.
*
* 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.
*
* 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 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 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.
*/
public void setMessageDeduplicationId(String messageDeduplicationId) {
this.messageDeduplicationId = messageDeduplicationId;
}
/**
*
* 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.
*
* 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 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 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.
*
* 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.
*
* 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 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 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.
*/
public String getMessageDeduplicationId() {
return this.messageDeduplicationId;
}
/**
*
* 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.
*
* 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 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 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.
*
* 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.
*
* 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 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SendMessageRequest withMessageDeduplicationId(String messageDeduplicationId) {
setMessageDeduplicationId(messageDeduplicationId);
return this;
}
/**
*
* 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 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.
*
* 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 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.
*
* 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 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.
*
* 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 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.
*
* 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 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.
*
* 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 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.
*