我想将文件上传到启用了版本的S3存储桶,并需要其版本号。理想情况下,无需单独的API调用即可避免出现竞争情况的可能性。我正在使用以下代码段进行上传(工作正常):

s3 = boto3.client("s3")
s3.upload_fileobj(file_handle, bucket_name, key)


这个函数的响应是None,我真的看不到它在boto3中是如何定义的,因此很难深入研究它。

S3官方文档提到,上传后,版本ID包含在响应的标头中。但是,我看不到如何使用boto3访问此标头。

这有可能吗?如果是:如何?如果否:我该如何破解boto3,以便可以访问此响应标头?

Fyi,我正在使用boto3==1.9.64

谢谢你的帮助!

编辑:
Here the link到有关x-amz-version-id标头的S3文档

最佳答案

您可以将put_object用于类似文件的对象。它在响应字典中返回VersionId

关于python - Python boto3:将文件上传到S3后接收versionId,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54651153/

10-16 09:35