set-queue-attributes
Описание
Устанавливает значения одного или нескольких атрибутов очереди, например, политики. При изменении атрибутов очереди изменения могут распространяться по всей системе Amazon SQS в течение 60 секунд для большинства атрибутов. Изменения, внесенные в атрибут MessageRetentionPeriod, могут занимать до 15 минут и повлияют на существующие сообщения в очереди, потенциально вызвав их истечение срока действия и удаление, если значение MessageRetentionPeriod будет снижено ниже возраста существующих сообщений.
Примечание
- В будущем могут быть добавлены новые атрибуты. При написании кода, вызывающего этот параметр, рекомендуется так структурировать код, чтобы он мог корректно обрабатывать новые атрибуты.
- Права между учетными записями не применяются к этому действию. Для получения дополнительной информации см. Разрешение прав между учетными записями для роли и имени пользователя в руководстве для разработчиков Amazon SQS.
- Чтобы удалить возможность изменения разрешений очереди, необходимо запретить разрешение на действия
AddPermission,RemovePermissionиSetQueueAttributesв вашей политике IAM.
См. также: Документация API AWS
Синтаксис
set-queue-attributes
--queue-url <value>
--attributes <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--queue-url (строка)
URL очереди Amazon SQS, атрибуты которой устанавливаются.
URL и имена очереди чувствительны к регистру.
--attributes (массив)
Массив атрибутов для установки.
Ниже приведен список имен, описаний и значений специальных параметров запроса, которые использует действие SetQueueAttributes:
-
DelaySeconds– Время задержки доставки всех сообщений в очереди в секундах. Допустимые значения: целое число от 0 до 900 (15 минут). По умолчанию: 0. -
MaximumMessageSize– Предел размера сообщения в байтах, превышение которого приведет к его отклонению Amazon SQS. Допустимые значения: целое число от 1024 байт (1 Кб) до 262144 байт (256 Кб). По умолчанию: 262144 (256 Кб). -
MessageRetentionPeriod– Время, в секундах, в течение которого Amazon SQS хранит сообщение. Допустимые значения: целое число, представляющее секунды, от 60 (1 минута) до 1209600 (14 дней). По умолчанию: 345600 (4 дня). При изменении атрибутов очереди изменения могут распространяться по всей системе Amazon SQS в течение 60 секунд для большинства атрибутов. Изменения, внесенные в атрибутMessageRetentionPeriod, могут занимать до 15 минут и повлияют на существующие сообщения в очереди, потенциально вызвав их истечение срока действия и удаление, если значениеMessageRetentionPeriodбудет снижено ниже возраста существующих сообщений. -
Policy– Политика очереди. Действительная политика Amazon Web Services. Дополнительную информацию о структуре политики см. в обзоре политик IAM Amazon Web Services в руководстве пользователя по Identity and Access Management. -
ReceiveMessageWaitTimeSeconds– Время ожидания действия «ReceiveMessage» в секундах. Допустимые значения: целое число от 0 до 20 (секунд). По умолчанию: 0. -
VisibilityTimeout– Таймаут видимости очереди в секундах. Допустимые значения: целое число от 0 до 43200 (12 часов). По умолчанию: 30. Дополнительную информацию о таймауте видимости см. в руководстве разработчика Amazon SQS.
Следующие атрибуты применяются только к очередям с сообщениями-возвратом:
-
RedrivePolicy– Строка, содержащая параметры функциональности очереди с сообщениями-возвратом исходной очереди в формате JSON. Параметры следующие:-
deadLetterTargetArn– Amazon Resource Name (ARN) очереди с сообщениями-возвратом, в которую Amazon SQS перемещает сообщения после превышения значенияmaxReceiveCount. -
maxReceiveCount– Количество попыток доставки сообщения в исходную очередь перед перемещением в очередь с сообщениями-возвратом. По умолчанию: 10. Когда значениеReceiveCountдля сообщения превышает значениеmaxReceiveCountдля очереди, Amazon SQS перемещает сообщение в очередь с сообщениями-возвратом.
-
-
RedriveAllowPolicy– Строка, содержащая параметры разрешений для разрешения перенаправления в очередь с сообщениями-возвратом и какие исходные очереди могут указать очереди с сообщениями-возвратом в формате JSON. Параметры следующие:-
redrivePermission– Тип разрешения, определяющий, какие исходные очереди могут указать текущую очередь в качестве очереди с сообщениями-возвратом. Допустимые значения:-
allowAll– (По умолчанию) Любые исходные очереди в этой учетной записи Amazon Web Services в том же регионе могут указать эту очередь в качестве очереди с сообщениями-возвратом. -
denyAll– Никакие исходные очереди не могут указать эту очередь в качестве очереди с сообщениями-возвратом. -
byQueue– Только очереди, указанные параметромsourceQueueArns, могут указать эту очередь в качестве очереди с сообщениями-возвратом.
-
-
sourceQueueArns– Amazon Resource Names (ARN) исходных очередей, которые могут указать эту очередь в качестве очереди с сообщениями-возвратом и перенаправить сообщения. Вы можете указать этот параметр только тогда, когда параметрredrivePermissionустановлен в значениеbyQueue. Вы можете указать до 10 ARN исходных очередей. Чтобы разрешить более 10 исходных очередей указать очереди с сообщениями-возвратом, установите параметрredrivePermissionв значениеallowAll.
-
Примечание
Очередь с сообщениями-возвратом очереди FIFO также должна быть очередью FIFO. Аналогично, очередь с сообщениями-возвратом стандартной очереди также должна быть стандартной очередью.Следующие атрибуты применяются только к шифрованию на стороне сервера:
-
KmsMasterKeyId– Идентификатор управляемого Amazon Web Services ключа шифрования (CMK) для Amazon SQS или настраиваемого CMK. Дополнительную информацию см. в разделе Термины. -
KmsDataKeyReusePeriodSeconds– Время в секундах, в течение которого Amazon SQS может повторно использовать ключ данных для шифрования или дешифрования сообщений перед обращением к KMS снова. Целое число, представляющее секунды, между 60 секундами (1 минута) и 86400 секундами (24 часа). По умолчанию: 300 (5 минут). Более короткий период обеспечивает лучшую безопасность, но приводит к большему количеству обращений к KMS, что может повлечь за собой расходы после бесплатного периода. Дополнительную информацию см. в разделе Как работает период повторного использования ключа данных?. -
SqsManagedSseEnabled– Включает шифрование очереди на стороне сервера с использованием ключей шифрования, принадлежащих SQS. Только один вариант шифрования на стороне сервера поддерживается на очередь (например, SSE-KMS или SSE-SQS).
Следующий атрибут применяется только к очередям FIFO (first-in-first-out):
-
ContentBasedDeduplication– Включает дублирование по содержимому. Дополнительную информацию см. в разделе Обработка "точно один раз" в руководстве разработчика Amazon SQS. Обратите внимание на следующее:- Каждый message должен иметь уникальный
MessageDeduplicationId.- Вы можете явно указать
MessageDeduplicationId. - Если вы не можете указать
MessageDeduplicationIdи включитеContentBasedDeduplicationдля вашей очереди, Amazon SQS использует хеш SHA-256 для созданияMessageDeduplicationId, используя тело сообщения (но не атрибуты сообщения). - Если вы не указываете
MessageDeduplicationIdи в очереди не установленContentBasedDeduplication, действие завершится с ошибкой. - Если в очереди установлен
ContentBasedDeduplication, вашMessageDeduplicationIdпереопределит сгенерированный.
- Вы можете явно указать
- Когда
ContentBasedDeduplicationв действии, сообщения с идентичным содержимым, отправленные в течение интервала дублирования, обрабатываются как дубликаты, и только одна копия сообщения доставляется. - Если вы отправили одно сообщение с включенным
ContentBasedDeduplication, а затем другое сообщение сMessageDeduplicationId, которое такое же, как сгенерированное для первогоMessageDeduplicationId, оба сообщения обрабатываются как дубликаты, и только одна копия сообщения доставляется.
- Каждый message должен иметь уникальный
Следующие атрибуты применяются только к высокой пропускной способности для очередей FIFO:
-
DeduplicationScope– Указывает, происходит ли дублирование сообщений на уровне группы сообщений или очереди. Допустимые значения:messageGroupиqueue. -
FifoThroughputLimit– Указывает, применяется ли квота пропускной способности очереди FIFO к всей очереди или по группам сообщений. Допустимые значения:perQueueиperMessageGroupId. ЗначениеperMessageGroupIdдопускается только когда значение дляDeduplicationScopeравноmessageGroup.
Для включения высокой пропускной способности для очередей FIFO выполните следующие действия:
- Установите
DeduplicationScopeв значениеmessageGroup. - Установите
FifoThroughputLimitв значениеperMessageGroupId.
Если вы установите эти атрибуты на значения, отличные от показанных для включения высокой пропускной способности, то действует обычная пропускная способность, а дублирование происходит как указано.
Информация о квотах пропускной способности см. в разделе Квоты, связанные с сообщениями, в руководстве разработчика Amazon SQS.
ключ -> (строка)
значение -> (строка)
Сокращенный синтаксис:
KeyName1=string,KeyName2=string
Where valid key names are:
All
Policy
VisibilityTimeout
MaximumMessageSize
MessageRetentionPeriod
ApproximateNumberOfMessages
ApproximateNumberOfMessagesNotVisible
CreatedTimestamp
LastModifiedTimestamp
QueueArn
ApproximateNumberOfMessagesDelayed
DelaySeconds
ReceiveMessageWaitTimeSeconds
RedrivePolicy
FifoQueue
ContentBasedDeduplication
KmsMasterKeyId
KmsDataKeyReusePeriodSeconds
DeduplicationScope
FifoThroughputLimit
RedriveAllowPolicy
SqsManagedSseEnabled
Синтаксис JSON:
{"All"|"Policy"|"VisibilityTimeout"|"MaximumMessageSize"|"MessageRetentionPeriod"|"ApproximateNumberOfMessages"|"ApproximateNumberOfMessagesNotVisible"|"CreatedTimestamp"|"LastModifiedTimestamp"|"QueueArn"|"ApproximateNumberOfMessagesDelayed"|"DelaySeconds"|"ReceiveMessageWaitTimeSeconds"|"RedrivePolicy"|"FifoQueue"|"ContentBasedDeduplication"|"KmsMasterKeyId"|"KmsDataKeyReusePeriodSeconds"|"DeduplicationScope"|"FifoThroughputLimit"|"RedriveAllowPolicy"|"SqsManagedSseEnabled": "string"
...}
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределяют значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения, используя значение, предоставленное JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. При отсутствии значения или значении input выводит пример JSON-ввода, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, при указании yaml-input, выведет пример YAML-ввода, который можно использовать с --cli-input-yaml. При указании значения output, проверяет входные данные команды и возвращает пример JSON-вывода для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Общие параметры
--debug (boolean)
Включить отладку.
--endpoint-url (string)
Переопределить адрес по умолчанию команды указанным адресом.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один запрос для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определённый профиль из файла авторизации.
--region (string)
Регион для использования. Переопределяет настройки из конфигурации/среды.
--version (string)
Отобразить версию инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Кредиты не будут загружены, если этот аргумент указан.
--ca-bundle (string)
Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/среды.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию - 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию - 60 секунд.
--cli-binary-format (string)
Стиль форматирования для двоичных блоков. Формат по умолчанию - base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как закодированная строка base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, а двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет рассматриваться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить вывод страницы CLI.
--cli-auto-prompt (boolean)
Автоматически запросить параметры CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запросы параметров CLI.
Примеры
Примечание
Для использования следующих примеров, у вас должна быть установлена и настроена AWS CLI. Подробнее см. руководство по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования для UNIX-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки терминала. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Настройка атрибутов очереди
В этом примере очередь устанавливается с задержкой доставки 10 секунд, максимальным размером сообщения 128 КБ (128 КБ * 1024 байта), сроком хранения сообщений 3 дня (3 дня * 24 часа * 60 минут * 60 секунд), временем ожидания получения сообщения 20 секунд и значением по умолчанию для таймаута видимости 60 секунд. В данном примере также указана очередь для обработки сообщений-ошибок с максимальным количеством сообщений для обработки равным 1000.
Команда:
aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://set-queue-attributes.json
Входной файл (set-queue-attributes.json):
{
"DelaySeconds": "10",
"MaximumMessageSize": "131072",
"MessageRetentionPeriod": "259200",
"ReceiveMessageWaitTimeSeconds": "20",
"RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}",
"VisibilityTimeout": "60"
}
Вывод:
None.
Вывод
Нет
© Copyright 2025, Amazon Web Services. Created using Sphinx.