Spec-Zone.ru › AWS CLI v2

[ aws . s3api ]

put-bucket-notification-configuration

Описание

Примечание

Данная операция не поддерживается для ведер каталогов.

Включает уведомления о заданных событиях для ведра. Дополнительную информацию об уведомлениях о событиях см. в разделе Настройка уведомлений о событиях.

С помощью этого API вы можете заменить существующую конфигурацию уведомлений. Конфигурация представляет собой XML-файл, определяющий типы событий, которые Amazon S3 должен публиковать, и место назначения, куда Amazon S3 должен опубликовать уведомление об событии, когда обнаруживает событие указанного типа.

По умолчанию для вашего ведра нет настроенных уведомлений о событиях. То есть, конфигурация уведомлений будет пустым NotificationConfiguration.

<NotificationConfiguration>

</NotificationConfiguration>

Этот действие заменяет существующую конфигурацию уведомлений на конфигурацию, включенную в запросе.

После того, как Amazon S3 получит этот запрос, он сначала проверяет, существуют ли место назначения Amazon Simple Notification Service (Amazon SNS) или Amazon Simple Queue Service (Amazon SQS), и что владелец ведра имеет разрешение на публикацию в него, отправив тестовое уведомление. В случае местоназначения Lambda Amazon S3 проверяет, что разрешения функции Lambda предоставляют Amazon S3 разрешение вызывать функцию из ведра Amazon S3. Дополнительную информацию см. в разделе Настройка уведомлений для событий Amazon S3.

Вы можете отключить уведомления, добавив пустой элемент NotificationConfiguration.

Дополнительную информацию о количестве конфигураций уведомлений о событиях, которые вы можете создать на ведро, см. в разделе квоты сервиса Amazon S3 в Amazon Web Services General Reference.

По умолчанию только владелец ведра может настроить уведомления о событиях на ведре. Однако владельцы ведер могут использовать политику ведра, чтобы предоставить разрешение другим пользователям на настройку этой конфигурации с необходимым s3:PutBucketNotification разрешением.

Примечание

Операция PUT уведомления является атомарной. Например, предположим, что ваша конфигурация уведомлений включает конфигурации SNS темы, очереди SQS и функции Lambda. Когда вы отправляете запрос PUT с этой конфигурацией, Amazon S3 отправляет тестовые сообщения в вашу тему SNS. Если сообщение не удаётся, вся операция PUT завершится неудачей, и Amazon S3 не добавит конфигурацию в ваше ведро.

Если конфигурация в теле запроса включает только один TopicConfiguration, определяющий только тип события s3:ReducedRedundancyLostObject, ответ также будет содержать заголовок x-amz-sns-test-message-id, содержащий идентификатор сообщения тестового уведомления, отправленного в тему.

Следующее действие относится к PutBucketNotificationConfiguration:

  • GetBucketNotificationConfiguration

См. также: Документация API AWS

Синтаксис

  put-bucket-notification-configuration
--bucket <value>
--notification-configuration <value>
[--expected-bucket-owner <value>]
[--skip-destination-validation | --no-skip-destination-validation]
[--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]

Параметры

--bucket (строка)

Имя ведра.

--notification-configuration (структура)

Контейнер для указания конфигурации уведомлений ведра. Если этот элемент пуст, уведомления отключены для ведра.

TopicConfigurations -> (список)

Тема, в которую отправляются уведомления, и события, для которых генерируются уведомления.

(структура)

Контейнер для указания конфигурации публикации сообщений в тему Amazon Simple Notification Service (Amazon SNS) при обнаружении Amazon S3 указанных событий.

Id -> (строка)

Необязательный уникальный идентификатор для конфигураций в конфигурации уведомлений. Если вы его не предоставите, Amazon S3 назначит идентификатор.

TopicArn -> (строка)

Идентификатор ресурса Amazon (ARN) темы Amazon SNS, в которую Amazon S3 публикует сообщение при обнаружении событий указанного типа.

Events -> (список)

Событие ведра Amazon S3, о котором необходимо отправить уведомления. Дополнительную информацию см. в разделе Поддерживаемые типы событий в руководстве пользователя Amazon S3.

(строка)

Событие ведра, для которого необходимо отправить уведомления.

Filter -> (структура)

Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.

Key -> (структура)

Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.

FilterRules -> (список)

Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.

(структура)

Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.

Name -> (строка)

Префикс или суффикс имени ключа объекта, идентифицирующий один или несколько объектов, к которым применяется правило фильтрации. Максимальная длина составляет 1024 символа. Перекрывающиеся префиксы и суффиксы не поддерживаются. Дополнительную информацию см. в разделе Настройка уведомлений об событиях в руководстве пользователя Amazon S3.

Value -> (строка)

Значение, которое фильтр ищет в именах ключей объектов.

QueueConfigurations -> (список)

Очереди Amazon Simple Queue Service для публикации сообщений и события, для которых публикуются сообщения.

(структура)

Указывает конфигурацию для публикации сообщений в очередь Amazon Simple Queue Service (Amazon SQS) при обнаружении Amazon S3 указанных событий.

Id -> (строка)

Необязательный уникальный идентификатор для конфигураций в конфигурации уведомлений. Если вы его не предоставите, Amazon S3 назначит идентификатор.

QueueArn -> (строка)

Идентификатор ресурса Amazon (ARN) очереди Amazon SQS, в которую Amazon S3 публикует сообщение при обнаружении событий указанного типа.

Events -> (список)

Коллекция событий ведра, для которых нужно отправлять уведомления

(строка)

Событие ведра, для которого нужно отправлять уведомления.

Filter -> (структура)

Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.

Key -> (структура)

Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.

FilterRules -> (список)

Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.

(структура)

Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.

Name -> (строка)

Префикс или суффикс имени ключа объекта, идентифицирующий один или несколько объектов, к которым применяется правило фильтрации. Максимальная длина составляет 1024 символа. Перекрывающиеся префиксы и суффиксы не поддерживаются. Дополнительную информацию см. в разделе Настройка уведомлений об событиях в руководстве пользователя Amazon S3.

Value -> (строка)

Значение, которое фильтр ищет в именах ключей объектов.

LambdaFunctionConfigurations -> (список)

Описание функций Lambda для вызова и событий, для которых нужно их вызывать.

(структура)

Контейнер для указания конфигурации уведомлений Lambda.

Id -> (строка)

Необязательный уникальный идентификатор для конфигураций в конфигурации уведомлений. Если вы его не предоставите, Amazon S3 назначит идентификатор.

LambdaFunctionArn -> (строка)

Идентификатор ресурса Amazon (ARN) функции Lambda, которую Amazon S3 вызывает при возникновении указанного типа события.

Events -> (список)

Событие ведра Amazon S3, для вызова функции Lambda. Дополнительную информацию см. в разделе Поддерживаемые типы событий в руководстве пользователя Amazon S3.

(строка)

Событие ведра, для которого нужно отправлять уведомления.

Filter -> (структура)

Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.

Key -> (структура)

Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.

FilterRules -> (список)

Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.

(структура)

Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.

Name -> (строка)

Префикс или суффикс имени ключа объекта, идентифицирующий один или несколько объектов, к которым применяется правило фильтрации. Максимальная длина составляет 1024 символа. Перекрывающиеся префиксы и суффиксы не поддерживаются. Дополнительную информацию см. в разделе Настройка уведомлений об событиях в руководстве пользователя Amazon S3.

Value -> (строка)

Значение, которое фильтр ищет в именах ключей объектов.

EventBridgeConfiguration -> (структура)

Включает доставку событий в Amazon EventBridge.

Синтаксис JSON:

{
  "TopicConfigurations": [
    {
      "Id": "string",
      "TopicArn": "string",
      "Events": ["s3:ReducedRedundancyLostObject"|"s3:ObjectCreated:*"|"s3:ObjectCreated:Put"|"s3:ObjectCreated:Post"|"s3:ObjectCreated:Copy"|"s3:ObjectCreated:CompleteMultipartUpload"|"s3:ObjectRemoved:*"|"s3:ObjectRemoved:Delete"|"s3:ObjectRemoved:DeleteMarkerCreated"|"s3:ObjectRestore:*"|"s3:ObjectRestore:Post"|"s3:ObjectRestore:Completed"|"s3:Replication:*"|"s3:Replication:OperationFailedReplication"|"s3:Replication:OperationNotTracked"|"s3:Replication:OperationMissedThreshold"|"s3:Replication:OperationReplicatedAfterThreshold"|"s3:ObjectRestore:Delete"|"s3:LifecycleTransition"|"s3:IntelligentTiering"|"s3:ObjectAcl:Put"|"s3:LifecycleExpiration:*"|"s3:LifecycleExpiration:Delete"|"s3:LifecycleExpiration:DeleteMarkerCreated"|"s3:ObjectTagging:*"|"s3:ObjectTagging:Put"|"s3:ObjectTagging:Delete", ...],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "prefix"|"suffix",
              "Value": "string"
            }
            ...
          ]
        }
      }
    }
    ...
  ],
  "QueueConfigurations": [
    {
      "Id": "string",
      "QueueArn": "string",
      "Events": ["s3:ReducedRedundancyLostObject"|"s3:ObjectCreated:*"|"s3:ObjectCreated:Put"|"s3:ObjectCreated:Post"|"s3:ObjectCreated:Copy"|"s3:ObjectCreated:CompleteMultipartUpload"|"s3:ObjectRemoved:*"|"s3:ObjectRemoved:Delete"|"s3:ObjectRemoved:DeleteMarkerCreated"|"s3:ObjectRestore:*"|"s3:ObjectRestore:Post"|"s3:ObjectRestore:Completed"|"s3:Replication:*"|"s3:Replication:OperationFailedReplication"|"s3:Replication:OperationNotTracked"|"s3:Replication:OperationMissedThreshold"|"s3:Replication:OperationReplicatedAfterThreshold"|"s3:ObjectRestore:Delete"|"s3:LifecycleTransition"|"s3:IntelligentTiering"|"s3:ObjectAcl:Put"|"s3:LifecycleExpiration:*"|"s3:LifecycleExpiration:Delete"|"s3:LifecycleExpiration:DeleteMarkerCreated"|"s3:ObjectTagging:*"|"s3:ObjectTagging:Put"|"s3:ObjectTagging:Delete", ...],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "prefix"|"suffix",
              "Value": "string"
            }
            ...
          ]
        }
      }
    }
    ...
  ],
  "LambdaFunctionConfigurations": [
    {
      "Id": "string",
      "LambdaFunctionArn": "string",
      "Events": ["s3:ReducedRedundancyLostObject"|"s3:ObjectCreated:*"|"s3:ObjectCreated:Put"|"s3:ObjectCreated:Post"|"s3:ObjectCreated:Copy"|"s3:ObjectCreated:CompleteMultipartUpload"|"s3:ObjectRemoved:*"|"s3:ObjectRemoved:Delete"|"s3:ObjectRemoved:DeleteMarkerCreated"|"s3:ObjectRestore:*"|"s3:ObjectRestore:Post"|"s3:ObjectRestore:Completed"|"s3:Replication:*"|"s3:Replication:OperationFailedReplication"|"s3:Replication:OperationNotTracked"|"s3:Replication:OperationMissedThreshold"|"s3:Replication:OperationReplicatedAfterThreshold"|"s3:ObjectRestore:Delete"|"s3:LifecycleTransition"|"s3:IntelligentTiering"|"s3:ObjectAcl:Put"|"s3:LifecycleExpiration:*"|"s3:LifecycleExpiration:Delete"|"s3:LifecycleExpiration:DeleteMarkerCreated"|"s3:ObjectTagging:*"|"s3:ObjectTagging:Put"|"s3:ObjectTagging:Delete", ...],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "prefix"|"suffix",
              "Value": "string"
            }
            ...
          ]
        }
      }
    }
    ...
  ],
  "EventBridgeConfiguration": {

  }
}

--expected-bucket-owner (строка)

Идентификатор учетной записи предполагаемого владельца ведра. Если предоставленный вами идентификатор учетной записи не совпадает с фактическим владельцем ведра, запрос завершается ошибкой с кодом состояния HTTP 403 Forbidden (доступ запрещён).

--skip-destination-validation | --no-skip-destination-validation (булево)

Пропускает проверку пунктов назначения Amazon SQS, Amazon SNS и Lambda. Значение True или False.

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному в --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено значение null или input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверит входные данные команды и вернет пример выходного JSON для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (boolean)

Включить отладовую запись в журнал.

--endpoint-url (string)

Переопределить стандартный URL команды заданным URL.

--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 V1, и бинарные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего бинарному блоку fileb://, всегда будет обрабатываться как бинарное и использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file://, содержимое файла должно быть правильно отформатировано для заданной настройки cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить кли-пейджер для вывода.

--cli-auto-prompt (boolean)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматический запрос параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительная информация содержится в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. Смотрите раздел «Использование кавычек со строками» в Руководстве пользователя AWS CLI.

Для включения указанных уведомлений для ведра

В следующем put-bucket-notification-configuration примере конфигурация уведомлений применяется к ведру с именем amzn-s3-demo-bucket. Файл notification.json — это JSON-документ в текущей папке, определяющий тему SNS и тип события для мониторинга.

aws s3api put-bucket-notification-configuration \
    --bucket amzn-s3-demo-bucket \
    --notification-configuration file://notification.json

Содержимое notification.json:

{
    "TopicConfigurations": [
        {
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic",
            "Events": [
                "s3:ObjectCreated:*"
            ]
        }
    ]
}

Для темы SNS должна быть прикреплена политика IAM, разрешающая Amazon S3 публиковать в неё.

{
    "Version": "2008-10-17",
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "example-statement-ID",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": [
                "SNS:Publish"
            ],
            "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket"
                }
            }
        }
    ]
}

Вывод

Нет

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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