我使用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