boto3 ObjectVersion缺少load()?

时间:2016-09-30 10:52:50

标签: python-2.7 amazon-s3 boto3

我正试图从版本化的S3存储桶中获取对象元数据,如此

import boto3
s3res = boto3.resource('s3')
vers_object = s3res.ObjectVersion('bucket', 'key', 'versionId')
vers_object.last_modified

根据documentation,这应该工作,并应通过load()方法加载last_modified属性。除此之外,它提供了此异常

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/boto3/resources/factory.py", line 343, in property_loader
    self.__class__.__name__))
boto3.exceptions.ResourceLoadException: s3.ObjectVersion has no load method

我可以使用.get()方法并从那里获取相关数据,但我希望last_modified属性为我提供更好的解析字符串,并期望它更快。

根据pip show,我在版本1.4.0中有boto3,在版本1.4.53中有botocore。

1 个答案:

答案 0 :(得分:1)

这是使用Python 3.5工作的代码,起初我遇到了与你一样的问题,但后来我使用get()方法工作。让我知道你是否需要更多的信息。

object_version = s3res.ObjectVersion('bucketname','objectname','VersionId')

data=object_version.get()

print(data)

print(data['LastModified'])