AWS boto3如何从密钥中获取元数据?



我正在尝试获取在s3桶中上传的文件的元数据值

#我必须特别使用boto3.resource('s3')在项目中的其他API调用。

我在元数据字段

下有以下数据可用

#元数据

Key=Content-Type
Value= application/json

下面是代码

bucket= 'mybucket'
key='L1/input/file.json'
s3_resource = boto3.resource('s3')
object = s3_resource.Object(bucket,key)
metadata = object.metadata

但我得到低于错误

[ERROR] ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden

有谁能帮我一下吗?

注意语法。这条线:

s3_client=boto3.resource('s3')

返回的是resource,而不是client

因此,这一行是失败的:

obj = s3_client.head_object(bucket,key)

因为head_object()不是一个操作可以执行resource

相反,使用:

s3_resource = boto3.resource('s3')
object = s3_resource.Object('bucket_name','key')
metadata = object.metadata

它将提供元数据的Dictionary。

相关内容

  • 没有找到相关文章

最新更新