S3和django-storage,不识别凭据

时间:2014-05-13 08:33:52

标签: django heroku amazon-web-services amazon-s3 boto

我正在尝试将django-storage与heroku和S3一起使用。所以我按照readthedocs的教程进行了操作。我按照它说的安装了所有内容,我从亚马逊控制台获取了我的ID和密钥,并尝试了以下代码:

settings.py

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'key_id'
AWS_ACCESS_SECRET_KEY = 'secret_key'
AWS_STORAGE_BUCKET_NAME = 'mybucket' 


from django.core.files.storage import default_storage
>>> default_storage.__class__
<class 'django.core.files.storage.DefaultStorage'>

我不知道这是否是正常的回报值。然后我做了以下

default_storage.connection

我得到以下异常

NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials

我的设置有问题吗?代码在本地运行。想先在本地测试,然后将其上传到heroku

编辑:我使用控制台使用id和密钥手动连接到我的s3并且工作正常。这就是我所做的

import boto
boto.s3_connect(id, key)

并且工作了。那可能是什么问题?Django?

1 个答案:

答案 0 :(得分:1)

找到解决方案。错误的关键变量。刚刚将AWS_ACCESS_SECRET_KEY更改为AWS_SECRET_ACCESS_KEY,一切正常,