AWS boto3 如何从密钥中获取元数据?
AWS boto3 how to get the metadata from the key?
我正在尝试获取上传到 s3 存储桶中的文件的元数据值
#我必须专门为项目中的其他 api 调用使用 boto3.resource('s3')。
我在元数据字段下有以下可用数据
#元数据
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
它将提供元数据的字典。
我正在尝试获取上传到 s3 存储桶中的文件的元数据值
#我必须专门为项目中的其他 api 调用使用 boto3.resource('s3')。
我在元数据字段下有以下可用数据
#元数据
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
它将提供元数据的字典。