我有一个AWS Lambda函数:
S3 ObjectCreated
触发器然后,此python脚本将运行EMR以处理刚刚创建的所有这些S3部分文件。 (是的,必须联合处理这些文件。)
但是,部分文件(file_part_0000
,file_part_0001
,file_part_0002
等)会被创建为分段上传。
Lambda Event: {..., "eventName": "ObjectCreated:CompleteMultipartUpload", ...}
我的理解是,这个触发器会强制Lambda ssh并运行python脚本的次数和部分文件一样多。我只希望Lambda ssh并运行脚本一次。
是否有任何方法可以为每个"系列" 触发一次分段上传?
答案 0 :(得分:0)
正如Configuring Amazon S3 Event Notifications
中所述您将不会收到失败操作的事件通知。
并且有一个原因是事件是s3:ObjectCreated:CompleteMultipartUpload
,只有当您的多部分完全上传时才会触发事件。
另一方面,也许你应该让S3事件触发器向SQS发送信息。因此,您可以使您的python程序可以观看SQS队列并处理该文件。使用SQS,您无需在lambda中进行无密码设置或存储私钥以ssh服务器。