S3分段上传-异步完成分段上传

时间:2018-09-09 20:59:06

标签: python amazon-web-services amazon-s3 aws-lambda boto3

我正在尝试使用以python编写的lambda(aws)完成分段上传。下面是我正在使用的代码。大约有120个零件,总大小为30GB。以下操作似乎无法在5分钟内完成,因此lambda会关闭,上传似乎也没有完成。 S3是否提供异步多部分上传功能?我相信这可以确保无论lambda关闭如何,文件都会合并在一起。

show_downloads: true

1 个答案:

答案 0 :(得分:0)

AWS Lambda将单次调用的最大执行时间限制为5分钟。您可以将执行长时间运行任务的Lambda函数编写为递归函数。

context.get_remaining_time_in_millis()

调用函数时,上下文对象使您可以找出当前调用还剩下多少时间。

将编号最小化。的递归,我们的功能将是:

  • 限制零件的大小,使用小批量。
  • 每批结束时, 调用context.getRemainingTimeInMillis()检查多少时间 在此调用中留下的
  • 如果剩余时间超过1分钟 调用然后处理另一批;否则递归

示例链接: Recursive Lambda Function Recursive Lambda the right way