首页 > 解决方案 > boto 模块是访问 Heroku 应用程序中配置变量的唯一方法吗?

问题描述

我在 heroku 上部署了一个烧瓶 webapp,并且我创建了一个 heroku config var 来存储一个管理员密钥。heroku config var docs说要使用 boto 模块通过以下方式从 .py 文件中访问 c​​onfig var :

from boto.s3.connection import S3Connection
s3 = S3Connection(os.environ['S3_KEY'], os.environ['S3_SECRET'])

当我尝试在我的代码中使用它进行部署时,我收到以下错误:

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

boto 文档说我需要有 ~/.aws/credentials,格式为:

[Credentials]
aws_access_key_id = <your_access_key_here>
aws_secret_access_key = <your_secret_key_here>

所以我对此有几个问题:

  1. 我是否需要创建 AWS 凭证才能使用 boto?
  2. 我该怎么做?
  3. /.aws/credentials 推送到 heroku 时是否进入我的主 git 存储库?
  4. 是否有另一种(更简单)的方法可以从 .py 代码中访问 heroku 配置变量?

标签: pythonflaskherokuamazon-s3boto

解决方案


推荐阅读