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

san*_*ndy 2 python amazon-s3 boto3 aws-lambda

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

Joh*_*ein 5

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

S3 中的对象无法更新。相反,它们被替换为新对象。因此,如果一个对象正在更新过程中,对于其他进程来说,它仍然会显示为旧对象。

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