知道何时上传到s3桶完成



我使用boto3上传图像到我的s3桶,下面的过程工作正常。我想知道的是,我如何知道上传过程何时完成。也许完成后打印"上传完成"。我怎样才能做到这一点呢?提前谢谢。

import boto3
s3 = boto3.resource('s3')
file = open(imagePath, 'rb')
object = s3.Object('s3BucketName', fileName)
ret = object.put(Body=file, Metadata={'example': 'test'})
#when complete
print('upload complete')

上传完成后,发送一个dict类型的响应。因为您已经在ret变量中捕获了这个,您只需要添加一个条件来检查它。您可以在这里查看响应结构- https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Object.put

或者,一个更详细的使用s3.object.wait_until_exists()方法的例子- https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/python/example_code/s3/s3_basics/object_wrapper.py#L51

最新更新