当新对象到达s3bu时触发Lambda函数

2024-04-19 04:44:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为'files'的S3 bucket。每天都有新的文件到达那里。示例:

/files/data-01-23-2017--11-33am.txt
/files/data-01-24-2017--10-28am.txt

当新文件到达时,我如何生成Lambda函数并设置触发器以在EC2上执行一个shell脚本? 新文件的示例如下:

^{pr2}$

我想在EC2上执行的命令是(参数作为刚到达的新文件名):

python /home/ec2-user/jobs/run_job.py data-01-25-2017--11-43am.txt

Tags: 文件lambda函数命令txt脚本示例data
1条回答
网友
1楼 · 发布于 2024-04-19 04:44:44

amazons3可以配置为在创建新对象时触发AWS Lambda函数。但是,Lambda函数不能访问amazonec2实例。它不是一个合适的架构。在

一些可选选项(这些是单独的选项,不是多个步骤):

  • 不要在amazonec2实例上运行命令,将代码放入Lambda函数中(不需要EC2实例)。(最佳选择!)
  • 配置amazons3将消息推送到amazonsqs队列中。让EC2实例上的代码定期轮询队列。当它接收到消息时,在S3中处理该对象。在
  • 将Amazon S3配置为向Amazon SNS主题发送消息。向SNS队列订阅应用程序的端点(实际上是API),以便在创建新对象时接收消息。在

相关问题 更多 >