我想将文件上传到启用了版本的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/