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 -> (строка)
TopicArn -> (строка)
Events -> (список)
Событие ведра Amazon S3, о котором необходимо отправить уведомления. Дополнительную информацию см. в разделе Поддерживаемые типы событий в руководстве пользователя Amazon S3.
(строка)
Filter -> (структура)
Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.
Key -> (структура)
Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.
FilterRules -> (список)
Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.
(структура)
Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.
Name -> (строка)
Value -> (строка)
QueueConfigurations -> (список)
Очереди Amazon Simple Queue Service для публикации сообщений и события, для которых публикуются сообщения.
(структура)
Указывает конфигурацию для публикации сообщений в очередь Amazon Simple Queue Service (Amazon SQS) при обнаружении Amazon S3 указанных событий.
Id -> (строка)
QueueArn -> (строка)
Events -> (список)
Коллекция событий ведра, для которых нужно отправлять уведомления
(строка)
Filter -> (структура)
Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.
Key -> (структура)
Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.
FilterRules -> (список)
Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.
(структура)
Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.
Name -> (строка)
Value -> (строка)
LambdaFunctionConfigurations -> (список)
Описание функций Lambda для вызова и событий, для которых нужно их вызывать.
(структура)
Контейнер для указания конфигурации уведомлений Lambda.
Id -> (строка)
LambdaFunctionArn -> (строка)
Events -> (список)
Событие ведра Amazon S3, для вызова функции Lambda. Дополнительную информацию см. в разделе Поддерживаемые типы событий в руководстве пользователя Amazon S3.
(строка)
Filter -> (структура)
Указывает правила фильтрации по имени ключа объекта. Сведения о фильтрации по имени ключа см. в разделе Настройка уведомлений об событиях с использованием фильтрации по имени ключа объекта в руководстве пользователя Amazon S3.
Key -> (структура)
Контейнер для правил фильтрации префикса и суффикса имени ключа объекта.
FilterRules -> (список)
Список контейнеров для пары ключ-значение, которая определяет критерии правила фильтрации.
(структура)
Указывает имя ключа объекта Amazon S3 для фильтрации. Имя ключа объекта — это имя, назначенное объекту в вашем ведре Amazon S3. Вы указываете, нужно ли фильтровать по суффиксу или префиксу имени ключа объекта. Префикс — это определённая строка символов в начале имени ключа объекта, которую можно использовать для организации объектов. Например, вы можете начинать имена ключей связанных объектов с префикса, например, 2023- или engineering/. Затем, вы можете использовать FilterRule, чтобы найти объекты в ведре с именами ключей, имеющими тот же префикс. Суффикс аналогичен префиксу, но он находится в конце имени ключа объекта, а не в начале.
Name -> (строка)
Value -> (строка)
EventBridgeConfiguration -> (структура)
Синтаксис 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 (строка)
403 Forbidden (доступ запрещён).--skip-destination-validation | --no-skip-destination-validation (булево)
--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.