Spec-Zone.ru › AWS CLI v2

[ aws . sqs ]

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, оба сообщения обрабатываются как дубликаты, и только одна копия сообщения доставляется.

Следующие атрибуты применяются только к высокой пропускной способности для очередей 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API