首页 > 解决方案 > Python Boto3 - 如何在进程开始复制到另一个存储桶之前检查s3文件是否已完全写入

问题描述

在进程 B 开始使用 boto3 将文件复制到 AWS S3 存储桶 B 之前,如何确保进程 A 已在 AWS S3 存储桶 A 中完全写入大文件(5+ GB)?

标签: pythonamazon-s3aws-lambdaboto3

解决方案


如果在 Amazon S3 中创建一个新对象,它只会在上传完成后出现。在完成上传之前,其他进程将无法查看它。

无法在 S3中更新对象。相反,它们被替换为新对象。因此,如果一个对象正在更新过程中,它仍然会作为旧对象出现在其他进程中。

最好的方法是通过配置 Amazon S3 Event Notifications来触发流程B。上传新对象后,S3 可以触发 Lambda 函数(或发送通知),然后执行第二步。


推荐阅读