Python boto3:将文件上传到S3后接收versionId

时间:2019-02-12 13:26:25

标签: python amazon-web-services amazon-s3 boto3

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

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

此函数的响应为None,我真的看不到它在boto3中的定义,因此很难对其进行更深入的研究。

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

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

好,我正在使用boto3==1.9.64

感谢您的帮助!

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

1 个答案:

答案 0 :(得分:3)

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