在 boto3 中,您可以使用该S3.Client.head_object()方法仅加载单个键的元数据。
load()您还可以通过以下方法实现相同的目的S3.Object:
s3 = boto3.resource('s3')
object = s3.Object('bucket_name','key')
object.load() # fetches metadata for the object, but not data.
# calls client's head_object behind the scene
object.reload() # synonym for load().
# apparently, we can never have enough duplicated methods.
Run Code Online (Sandbox Code Playgroud)
您还可以通过使用S3.Client.list_objects()列出存储桶中的键来访问关联数据的子集。在对 的响应中list_objects,您将获得存储类、大小、所有者和 Etag 等信息,但如果不使用-ing 键,您将无法获得自定义元数据(即x-amz-meta-*键) 。load()
Boto 没有直接请求(至少在v2)。获取所有元数据的唯一方法是使用该bucket.get_key()方法。
如果您只需要某些键的元数据,那么您可以执行以下操作:
for key in bucket.list():
if want_metadata(key.name):
key_with_md = bucket.get_key(key.name)
metadata = key_with_md.get_metadata('smth')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1144 次 |
| 最近记录: |