如果您已经将对象上传到Amazon S3存储桶,那么如何使用API更改元数据? 可以在AWSpipe理控制台中执行此操作,但不清楚如何以编程方式执行此操作。 具体来说,我在Python中使用boto API,通过阅读源代码,很明显,使用key.set_metadata只能在创build对象之前工作,因为它只是影响本地字典。
我用以下方法拯救了一把钥匙: key = bucket.new_key(fileName) key.set_contents_from_string(base64.b64decode(data)) key.set_metadata('Content-Type', 'image/jpeg') key.set_acl('public-read') 保存成功后,如何访问新创build的文件的URL?
我有我的$ AWS_ACCESS_KEY_ID和$ AWS_SECRET_ACCESS_KEY环境variables设置正确,我运行此代码: import boto conn = boto.connect_s3() 并得到这个错误: boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] 发生了什么? 我不知道从哪里开始debugging。 看来boto没有从我的环境variables中取值。 如果我将密钥ID和密钥作为parameter passing给连接构造函数,这可以正常工作。
我试图让django上传静态文件到S3,但是我得到了一个403禁止的错误,我不知道为什么。 Full Stacktrace: Traceback (most recent call last): File "manage.py", line 14, in <module> execute_manager(settings) File "/home/levi/Projects/DoneBox/.virtualenv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager utility.execute() File "/home/levi/Projects/DoneBox/.virtualenv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/levi/Projects/DoneBox/.virtualenv/local/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv self.execute(*args, **options.__dict__) File "/home/levi/Projects/DoneBox/.virtualenv/local/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute output = self.handle(*args, **options) File "/home/levi/Projects/DoneBox/.virtualenv/local/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle return self.handle_noargs(**options) […]
我想用python复制s3桶中的文件。 例如:我有桶名称=testing。 而在斗中,我有2个文件夹名称“转储”和“input”。 现在我想复制一个文件从本地目录到S3“转储”文件夹使用Python …任何人都可以帮助我吗?
你怎么用boto重命名一个S3中的密钥?
我怎样才能创build一个文件夹下使用boto库amazon s3的桶? 我遵循手册,并创build了权限,元数据等密钥,但没有在博托的文档中介绍了如何创build一个桶下的文件夹,或者创build一个文件夹在桶下的文件夹。