Me gustaría suscribirme a un tema de SNS de notificaciones de depósito de S3 directamente en una instancia de EC2 donde tengo un script en ejecución que está escuchando un evento de actualización de depósito de S3.
Supongo que tengo que hacer:
aws sns subscribe --topic-arn [ARN of S3 bucket update topic] --protocol [email, email-json, http, https, or sqs]¿Qué protocolo tendría sentido en este contexto?
Para responder a su pregunta, necesitaría tener un punto final en su instancia ec2 que pueda recibir y procesar los mensajes de SNS para que el protocolo sea http o https (dependiendo de cómo configure el servidor en su instancia ec2). Puede leer más sobre esto enEnvío de mensajes de Amazon SNS a puntos finales HTTP/HTTPS
Tenga en cuenta cómo escribió su secuencia de comandos, pero si usa python/java/javascript o cualquier cosa que pueda ser compatible con lambda, sería mucho mejor implementar su código en una función lambda y enviar el mensaje a esta lambda, solo paga cuando se ejecuta (en el otro caso, su instancia ec2 debe estar siempre en funcionamiento para escuchar los mensajes). lambda es un protocolo compatible de suscripción sns
Una tercera opción es introducir SQS en la imagen, se ejecutará en modo asíncrono (depende de sus requisitos si es una opción o no) elegiría sqs como el valor de protocolo de su mensaje SNS (lea Envío de mensajes de Amazon SNS a Amazon SQS Colas para obtener más información) y necesitaría su servicio web ec2 para seleccionar el mensaje en la cola de sqs