我需要帮助弄清楚如何将s3文件名数组传递给我正在处理的第二个aws lambda函数。第一个函数将在dynamodb索引表中查询它将向其发出检索请求的冰川中的s3文件列表。第二个lambda将一次一个地获取一个数组中的相同文件名参数并调用lambda函数,但是对于从Glacier检索的每个文件,4小时后,是否有任何精巧的方法在lambda或其他AWS服务中执行此操作用javascript?感谢任何帮助,谢谢!
答案 0 :(得分:2)
冰川检索工作不能保证在4小时内完成(档案通常可以访问within 3–5 hours,但这不是保证)。此外,在将来的一段时间内调度Lambda函数调用并不是解决此问题的最佳方法。
您应该使用Glacier notifications。当Glacier检索作业完成时,它可以将消息发布到SNS主题。集成了SNS和Lambda,因此您可以从SNS通知中调用Lambda函数。
Glacier SDK通过initiate_job()在完成时通过SNS通知支持存档检索(和库存检索)。
编辑:如果S3对象通过lifecycle management存档到Glacier,这不起作用,因为检索通知要求您提供Glacier文件库名称,但生命周期管理不会向您公开此文件库名称(它是内部的AWS服务)。 [谢谢@Mark B]