我正试图从版本化的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。
答案 0 :(得分:1)
这是使用Python 3.5工作的代码,起初我遇到了与你一样的问题,但后来我使用get()方法工作。让我知道你是否需要更多的信息。
object_version = s3res.ObjectVersion('bucketname','objectname','VersionId')
data=object_version.get()
print(data)
print(data['LastModified'])