Подписаться на уведомления S3 в разделе SNS непосредственно на экземпляр EC2
Я хотел бы подписаться на тему S3 bucket notifications SNS непосредственно на экземпляре EC2, где у меня работает скрипт, который прослушивает событие обновления S3 bucket.
Я предполагаю, что мне нужно сделать:
aws sns subscribe --topic-arn [ARN of S3 bucket update topic] --protocol [email, email-json, http, https, or sqs]
Какой протокол имел бы смысл в этом контексте?
1 ответ:
Чтобы ответить на ваш вопрос, вам потребуется конечная точка на вашем экземпляре ec2, которая может принимать и обрабатывать сообщения от SNS, поэтому протокол будет
http
илиhttps
(в зависимости от того, как вы настроите сервер на вашем экземпляре ec2). Подробнее об этом можно прочитать в разделе отправка сообщений Amazon SNS на конечные точки HTTP / HTTPSОбратите внимание, конечно, как вы написали свой сценарий, но если он использует python / java / javascript или что-нибудь, что может быть поддержано lambda, было бы намного лучше развернуть ваш код в лямбда-функции и есть сообщение, отправленное в эту лямбду, вы платите только тогда, когда он выполняется (в другом случае, ваш экземпляр ec2 должен быть всегда включен и работает, чтобы слушать сообщения).
lambda
- поддерживаемый протокол подписки snsТретий вариант-ввести SQS на картинке, вы будете работать в асинхронном режиме (зависит от вашего требования, если это опция или нет) вы бы выбрали
sqs
в качестве значения протокола Вашего сообщения SNS (читать отправка Amazon SNS Сообщения в очереди Amazon SQS для получения дополнительной информации), и вам потребуется ваш веб-сервис ec2, чтобы выбрать сообщение в очереди sqs