AWS S3 · 3 min read · Dec 10, 2025
Как настроить уведомления о событиях в S3 Bucket на AWS

AWS S3 уведомление о событиях помогает нам получать уведомления, когда определенные события происходят в S3 Bucket. Мы можем включить доступные события Amazon S3 bucket для отправки уведомлений. Таким образом, всякий раз, когда указанное событие происходит в S3 Bucket, событие срабатывает и уведомления отправляются.
В этой статье мы увидим, как получать уведомления по электронной почте, когда определенные события происходят в нашем S3 Bucket.
AWS S3 Уведомление о событиях поддерживает следующие назначения, куда могут быть отправлены уведомления/сообщения.
- Тема Amazon Simple Notification Service (Amazon SNS): Сообщения отправляются на подписанные конечные точки.
- Очередь Amazon Simple Queue Service (Amazon SQS): Сообщения отправляются в очередь SQS, где они могут храниться.
- AWS Lambda: Может использоваться для вызова функции Lambda и предоставления сообщения события в качестве аргумента.
Прежде чем мы продолжим, я предполагаю, что вы знакомы с S3 Bucket и SNS и у вас уже есть созданный S3 Bucket и SNS Topic в вашей учетной записи. Если у вас нет этих ресурсов, нажмите здесь, чтобы узнать, как создать S3 Bucket из консоли AWS, и поищите “Как создать тему SNS и подписчика на AWS?”, чтобы создать тему SNS с подписчиком по электронной почте.
Предварительные требования
- Учетная запись AWS (создайте, если у вас ее нет).
- S3 Bucket.
- Тема SNS.
Что мы будем делать?
- Войти в AWS.
- Настроить уведомления о событиях S3.
Вход в AWS
Нажмите здесь, чтобы перейти на страницу входа в AWS.
Когда мы перейдем по приведенной выше ссылке, мы увидим веб-страницу, где нам нужно войти, используя наши учетные данные.

После успешного входа в вашу учетную запись вы увидите экран, как показано ниже.

Настройка уведомлений о событиях S3.
Нажмите на Услуги и найдите S3, чтобы перейти на панель управления S3.

На панели управления S3 нажмите на S3 bucket, для которого вы хотите настроить уведомления о событиях.

Нажмите на “Свойства”, и вы увидите экран, как показано ниже, здесь нажмите на “События”

Теперь вы можете создать уведомления, нажав на “Добавить уведомления”.

Дайте имя создаваемому уведомлению, выберите события, о которых вы хотите получать уведомления, выберите тему SNS, на которую вы хотите отправить уведомления, и нажмите “Сохранить”.
Мы также можем настроить фильтр префикса/суффикса, чтобы получать уведомления только тогда, когда файлы добавляются в определенную папку. Это можно сделать, добавив префикс/суффикс. На данный момент я это не добавляю, вы можете попробовать, если хотите.

Вы увидите ошибку, когда сохраните уведомление. Это происходит потому, что выбранная нами тема SNS для отправки уведомлений не имеет разрешений на получение уведомлений из этого bucket. Поэтому мы получаем такую ошибку. Чтобы устранить эту ошибку, нам нужно добавить разрешения к теме SNS, чтобы она могла получать уведомления из этого S3 bucket.

Чтобы перейти к SNS, найдите SNS и нажмите на результат.

На главной панели нажмите на “Темы” в левой панели.

Нажмите на вашу тему SNS.

В разделе “Политика доступа” вы можете увидеть текущую политику SNS. Нам нужно отредактировать эту политику. Нажмите на “Редактировать”.

Замените политику SNS на следующую политику.
{
"Version": "2012-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:GetTopicAttributes",
"SNS:SetTopicAttributes",
"SNS:AddPermission",
"SNS:RemovePermission",
"SNS:DeleteTopic",
"SNS:Subscribe",
"SNS:ListSubscriptionsByTopic",
"SNS:Publish",
"SNS:Receive"
],
"Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "064827688814"
}
}
},
{
"Sid": "AWSEvents_all-events_Id2377506854031",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test"
},
* {
"Sid": "AWSEvents_S3_Event",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test"
}*
]
}В политике SNS мы добавили только заявление, которое выделено жирным шрифтом и курсивом. Также не забудьте заменить поля, выделенные красным цветом.
Сохраните изменения в SNS.

Вернувшись к событиям S3, теперь попробуйте заново создать то же самое событие и сохранить его. Вы увидите, что у вас теперь создано 1 событие.

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

Загрузите образец объекта в ваш S3 Bucket, это будет действие “PUT” в S3 Bucket. Это вызовет наше уведомление о событии и отправит уведомление нам.

Таким образом, когда я загрузил объект, уведомление о событии, которое мы создали, было вызвано, и SNS отправило мне уведомление на подписку по электронной почте, которую я имел в ней.

Заключение
В этой статье мы научились создавать уведомление о событии в S3 и вызывать SNS, когда происходят определенные события, такие как PUT/COPY/POST в S3 Bucket.
Get new posts in your inbox
No spam. Unsubscribe anytime.