首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用botocore更改对象元数据

用botocore更改对象元数据
EN

Stack Overflow用户
提问于 2014-02-12 19:36:45
回答 1查看 450关注 0票数 0

我使用botocore,因为我使用python 3,不能使用boto。所以我遵循这里的例子,可以上传一个文件

代码语言:javascript
复制
import botocore.session

session = botocore.session.get_session()
s3 = session.get_service('s3')
operation = s3.get_operation('PutObject')
endpoint = s3.get_endpoint('us-east-1')
fp = open('my_large_local_file', 'rb')
res, res_data = operation.call(endpoint, bucket='my-bucket',key='/my/key', body=fp, acl='public-read')

但是我不知道如何设置元数据,而且它在任何地方都没有文档记录。我随机地尝试添加一个元数据kwarg。

代码语言:javascript
复制
, metadata={key:value} 

但后来它抛出了这个错误

代码语言:javascript
复制
File "/usr/local/lib/python3.2/dist-packages/botocore/auth.py", line 382, in <genexpr>
custom_headers[lk] = ','.join(v.strip() for v in
AttributeError: 'dict' object has no attribute 'strip'

但是当我试图改变类型时,比如说,一个字符串,比如

代码语言:javascript
复制
metadata="{key:value}"

然后,我得到了一个不同的错误,基本上说它需要一个小块。

代码语言:javascript
复制
File "/usr/local/lib/python3.2/dist-packages/botocore/parameters.py", line 408, in validate
type_name='map', param=self)
botocore.exceptions.ValidationError: Invalid value (key:value) for param map:Metadata of type map
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-13 02:14:01

正如garnaat所述,正如我后来发现的,检查botocore github (和aws)中的问题列表是一个尚未解决的问题,因此我将考虑这个问题的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21737883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档