是否可以根据某些元数据条目过滤AWS S3对象?

时间:2018-12-13 01:26:31

标签: python-3.x amazon-web-services amazon-s3 aws-sdk boto3

我正在使用Python 3.6和boto3库来处理s3存储桶中的某些对象。我已经创建了一些带有元数据条目的S3对象。例如,

bucketName = 'Boto3'
objectKey = 'HelloBoto.txt'
metadataDic = {'MetadataCreator':"Ehxn"}

现在我想知道是否可以过滤并仅获取具有特定元数据条目的那些对象,例如,

for obj in s3Resource.Bucket(bucketName).objects.filter(Metadata="Ehsan ul haq"):
    print('{0}'.format(obj.key))

1 个答案:

答案 0 :(得分:3)

不。 list_objects()命令不接受过滤器。

您需要调用head_object()以获得每个单独对象的元数据。

或者,您可以激活Amazon S3 Inventory - Amazon Simple Storage Service,这可以每天提供所有带有元数据的对象的列表。