我正在尝试获取在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。