/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include See Also:
AWS
* API Reference
The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline const Aws::String& GetQueueUrl() const{ return m_queueUrl; } /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline bool QueueUrlHasBeenSet() const { return m_queueUrlHasBeenSet; } /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline void SetQueueUrl(const Aws::String& value) { m_queueUrlHasBeenSet = true; m_queueUrl = value; } /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline void SetQueueUrl(Aws::String&& value) { m_queueUrlHasBeenSet = true; m_queueUrl = std::move(value); } /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline void SetQueueUrl(const char* value) { m_queueUrlHasBeenSet = true; m_queueUrl.assign(value); } /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline SetQueueAttributesRequest& WithQueueUrl(const Aws::String& value) { SetQueueUrl(value); return *this;} /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline SetQueueAttributesRequest& WithQueueUrl(Aws::String&& value) { SetQueueUrl(std::move(value)); return *this;} /** *The URL of the Amazon SQS queue whose attributes are set.
Queue URLs * and names are case-sensitive.
*/ inline SetQueueAttributesRequest& WithQueueUrl(const char* value) { SetQueueUrl(value); return *this;} /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline const Aws::MapA map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline void SetAttributes(const Aws::MapA map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline void SetAttributes(Aws::MapA map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& WithAttributes(const Aws::MapA map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& WithAttributes(Aws::MapA map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *A map of attributes to set.
The following lists the names,
* descriptions, and values of the special request parameters that the
* SetQueueAttributes
action uses:
* DelaySeconds
– The length of time, in seconds, for which the
* delivery of all messages in the queue is delayed. Valid values: An integer from
* 0 to 900 (15 minutes). Default: 0.
* MaximumMessageSize
– The limit of how many bytes a message can
* contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes
* (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).
MessageRetentionPeriod
– The length of time, in seconds,
* for which Amazon SQS retains a message. Valid values: An integer representing
* seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).
* When you change a queue's attributes, the change can take up to 60 seconds for
* most of the attributes to propagate throughout the Amazon SQS system. Changes
* made to the MessageRetentionPeriod
attribute can take up to 15
* minutes and will impact existing messages in the queue potentially causing them
* to be expired and deleted if the MessageRetentionPeriod
is reduced
* below the age of existing messages.
Policy
– The
* queue's policy. A valid Amazon Web Services policy. For more information about
* policy structure, see Overview
* of Amazon Web Services IAM Policies in the Identity and Access Management
* User Guide.
ReceiveMessageWaitTimeSeconds
–
* The length of time, in seconds, for which a ReceiveMessage
* action waits for a message to arrive. Valid values: An integer from 0 to 20
* (seconds). Default: 0.
VisibilityTimeout
– The
* visibility timeout for the queue, in seconds. Valid values: An integer from 0 to
* 43,200 (12 hours). Default: 30. For more information about the visibility
* timeout, see Visibility
* Timeout in the Amazon SQS Developer Guide.
The * following attributes apply only to dead-letter * queues:
RedrivePolicy
– The string that
* includes the parameters for the dead-letter queue functionality of the source
* queue as a JSON object. The parameters are as follows:
* deadLetterTargetArn
– The Amazon Resource Name (ARN) of the
* dead-letter queue to which Amazon SQS moves messages after the value of
* maxReceiveCount
is exceeded.
* maxReceiveCount
– The number of times a message is delivered to the
* source queue before being moved to the dead-letter queue. Default: 10. When the
* ReceiveCount
for a message exceeds the maxReceiveCount
* for a queue, Amazon SQS moves the message to the dead-letter-queue.
RedriveAllowPolicy
– The string that includes
* the parameters for the permissions for the dead-letter queue redrive permission
* and which source queues can specify dead-letter queues as a JSON object. The
* parameters are as follows:
redrivePermission
–
* The permission type that defines which source queues can specify the current
* queue as the dead-letter queue. Valid values are:
* allowAll
– (Default) Any source queues in this Amazon Web Services
* account in the same Region can specify this queue as the dead-letter queue.
denyAll
– No source queues can specify this queue as
* the dead-letter queue.
byQueue
– Only queues
* specified by the sourceQueueArns
parameter can specify this queue
* as the dead-letter queue.
* sourceQueueArns
– The Amazon Resource Names (ARN)s of the source
* queues that can specify this queue as the dead-letter queue and redrive
* messages. You can specify this parameter only when the
* redrivePermission
parameter is set to byQueue
. You can
* specify up to 10 source queue ARNs. To allow more than 10 source queues to
* specify dead-letter queues, set the redrivePermission
parameter to
* allowAll
.
The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.
The * following attributes apply only to server-side-encryption:
* KmsMasterKeyId
– The ID of an Amazon Web Services
* managed customer master key (CMK) for Amazon SQS or a custom CMK. For more
* information, see Key
* Terms. While the alias of the AWS-managed CMK for Amazon SQS is always
* alias/aws/sqs
, the alias of a custom CMK can, for example, be
* alias/MyAlias
. For more examples, see KeyId
* in the Key Management Service API Reference.
* KmsDataKeyReusePeriodSeconds
– The length of time, in seconds, for
* which Amazon SQS can reuse a data
* key to encrypt or decrypt messages before calling KMS again. An integer
* representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
* hours). Default: 300 (5 minutes). A shorter time period provides better security
* but results in more calls to KMS which might incur charges after Free Tier. For
* more information, see How
* Does the Data Key Reuse Period Work?.
* SqsManagedSseEnabled
– Enables server-side queue encryption using
* SQS owned encryption keys. Only one server-side encryption option is supported
* per queue (for example, SSE-KMS
* or SSE-SQS).
The following attribute applies only to FIFO * (first-in-first-out) queues:
* ContentBasedDeduplication
– Enables content-based deduplication.
* For more information, see Exactly-once
* processing in the Amazon SQS Developer Guide. Note the following:
*
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 following attributes apply only * to high * throughput for FIFO queues:
* DeduplicationScope
– Specifies whether message deduplication occurs
* at the message group or queue level. Valid values are messageGroup
* and queue
.
FifoThroughputLimit
–
* Specifies whether the FIFO queue throughput quota applies to the entire queue or
* per message group. Valid values are perQueue
and
* perMessageGroupId
. The perMessageGroupId
value is
* allowed only when the value for DeduplicationScope
is
* messageGroup
.
To enable high throughput for FIFO * queues, do the following:
Set DeduplicationScope
* to messageGroup
.
Set
* FifoThroughputLimit
to perMessageGroupId
.
If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.
For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.
*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } private: Aws::String m_queueUrl; bool m_queueUrlHasBeenSet = false; Aws::Map