@Generated(value="software.amazon.awssdk:codegen") public final class SendMessageBatchRequestEntry extends Object implements SdkPojo, Serializable, ToCopyableBuilder<SendMessageBatchRequestEntry.Builder,SendMessageBatchRequestEntry>
Contains the details of a single Amazon SQS message along with an Id
.
Modifier and Type | Class and Description |
---|---|
static interface |
SendMessageBatchRequestEntry.Builder |
Modifier and Type | Method and Description |
---|---|
static SendMessageBatchRequestEntry.Builder |
builder() |
Integer |
delaySeconds()
The length of time, in seconds, for which a specific message is delayed.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
boolean |
hasMessageAttributes()
For responses, this returns true if the service returned a value for the MessageAttributes property.
|
boolean |
hasMessageSystemAttributes()
For responses, this returns true if the service returned a value for the MessageSystemAttributes property.
|
String |
id()
An identifier for a message in this batch used to communicate the result.
|
Map<String,MessageAttributeValue> |
messageAttributes()
Each message attribute consists of a
Name , Type , and Value . |
String |
messageBody()
The body of the message.
|
String |
messageDeduplicationId()
This parameter applies only to FIFO (first-in-first-out) queues.
|
String |
messageGroupId()
This parameter applies only to FIFO (first-in-first-out) queues.
|
Map<MessageSystemAttributeNameForSends,MessageSystemAttributeValue> |
messageSystemAttributes()
The message system attribute to send Each message system attribute consists of a
Name ,
Type , and Value . |
Map<String,MessageSystemAttributeValue> |
messageSystemAttributesAsStrings()
The message system attribute to send Each message system attribute consists of a
Name ,
Type , and Value . |
List<SdkField<?>> |
sdkFields() |
static Class<? extends SendMessageBatchRequestEntry.Builder> |
serializableBuilderClass() |
SendMessageBatchRequestEntry.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
copy
public final String id()
An identifier for a message in this batch used to communicate the result.
The Id
s of a batch request need to be unique within a request.
This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).
The Id
s of a batch request need to be unique within a request.
This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).
public final String messageBody()
The body of the message.
public final Integer delaySeconds()
The length of time, in seconds, for which a specific message is delayed. 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 is applied.
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 is
applied.
When you set FifoQueue
, you can't set DelaySeconds
per message. You can set
this parameter only on a queue level.
public final boolean hasMessageAttributes()
isEmpty()
method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.public final Map<String,MessageAttributeValue> messageAttributes()
Each message attribute consists of a Name
, Type
, and Value
. For more
information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasMessageAttributes()
method.
Name
, Type
, and Value
. For
more information, see Amazon SQS message attributes in the Amazon SQS Developer Guide.public final Map<MessageSystemAttributeNameForSends,MessageSystemAttributeValue> messageSystemAttributes()
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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasMessageSystemAttributes()
method.
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.
public final boolean hasMessageSystemAttributes()
isEmpty()
method on the
property). This is useful because the SDK will never return a null collection or map, but you may need to
differentiate between the service returning nothing (or null) and the service returning an empty collection or
map. For requests, this returns true if a value for the property was specified in the request builder, and false
if a value was not specified.public final Map<String,MessageSystemAttributeValue> messageSystemAttributesAsStrings()
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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasMessageSystemAttributes()
method.
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.
public final String messageDeduplicationId()
This parameter applies only to FIFO (first-in-first-out) queues.
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. 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 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 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. 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 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 final String messageGroupId()
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.
public SendMessageBatchRequestEntry.Builder toBuilder()
toBuilder
in interface ToCopyableBuilder<SendMessageBatchRequestEntry.Builder,SendMessageBatchRequestEntry>
public static SendMessageBatchRequestEntry.Builder builder()
public static Class<? extends SendMessageBatchRequestEntry.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields
in interface SdkPojo
public final String toString()
Copyright © 2023. All rights reserved.