gunicorn-boto-通过S3服务静态文件-如何将AWS_ACCESS_KEY_ID和AWS_SECRET_ACC



我使用s3来描述我的静态文件和django存储来为它们提供服务。

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'mybucket'
STATIC_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME

我试图在heroku上部署我的应用程序,为了验证我访问S3的过程,可以设置如下访问凭据:

export AWS_ACCESS_KEY_ID=<key ID>
export AWS_SECRET_ACCESS_KEY=<key>

这对heroku起了作用。

我尝试了同样的方法进行网络化,但总是得到以下错误:

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

所以我的问题是:如何正确地将凭据设置为env。变量,我可以通过gunicorn访问S3上的文件。

请注意,我只想通过gunicorn过程的凭据。我不想将它们存储在配置中。文件

我对网络派系一无所知,但boto也会在boto配置文件中查找凭据。默认情况下,它将在/etc/boto.cfg~/.boto中查找。这个文件是一个INI风格的配置文件,你需要添加这样的凭据:

[Credentials]
aws_access_key_id = <key ID>
aws_secret_access_key = <key>

相关内容

最新更新