Поиск по сайту:

Как настроить уведомления о событиях в S3 Bucket на AWS


На этой странице

  1. Предварительные требования
  2. Что будем делать?
  3. Войти в AWS
  4. Настройте уведомления о событиях S3.
  5. Заключение

Уведомление о событиях AWS S3 помогает нам получать уведомления, когда в корзине S3 происходят определенные события. Мы можем включить доступные события корзины Amazon S3 для отправки уведомления. Таким образом, всякий раз, когда указанное событие происходит в корзине S3, это событие запускается и отправляются уведомления.

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

Уведомление о событии AWS S3 поддерживает следующий пункт назначения, куда можно отправлять уведомления/сообщения.

  1. Тема Amazon Simple Notification Service (Amazon SNS):
    Сообщения отправляются на подписанные конечные точки.
  2. Очередь Amazon Simple Queue Service (Amazon SQS):
    Сообщения отправляются в SQS Queue, где их можно сохранить.
  3. AWS Lambda:
    может использоваться для вызова функции Lambda и предоставления сообщения о событии в качестве аргумента.

Прежде чем мы продолжим, я предполагаю, что вы знакомы с S3 Bucket и SNS и уже создали S3 Bucket и SNS Topic в своей учетной записи. Если у вас нет этих ресурсов, нажмите здесь, чтобы узнать, как создать корзину S3 из консоли AWS, и найдите \Как создать тему SNS и подписчика на AWS?\, чтобы создать тему SNS с подписчиком электронной почты в ней. .

Предпосылки

  1. Аккаунт AWS (создайте, если у вас его нет).
  2. Ведро S3.
  3. Тема социальной сети.

Что мы будем делать?

  1. Войдите в AWS.
  2. Настройте уведомления о событиях S3.

Войти в АВС

Нажмите здесь, чтобы перейти на страницу входа в AWS.

Когда мы перейдем по приведенной выше ссылке, мы увидим следующую веб-страницу, где нам необходимо войти в систему, используя наши данные для входа.

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

Настройте уведомления о событиях S3.

Нажмите «Службы» и найдите S3, чтобы перейти на панель инструментов S3.

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

Нажмите на \Свойства\, и вы увидите следующий экран, здесь нажмите на \События\

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

Дайте имя создаваемому уведомлению, выберите События, о которых вы хотите получать уведомления, выберите тему SNS, по которой вы хотите отправлять уведомления, и нажмите «Сохранить».

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

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

Чтобы перейти в 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, чтобы проверить, уведомляются ли о событиях.

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

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

Заключение

В этой статье мы научились создавать уведомления о событиях в S3 и запускать SNS, когда в корзине S3 происходят определенные события, такие как PUT/COPY/POST.