【发布时间】:2016-03-17 13:33:08
【问题描述】:
我正在使用 Elastic Beanstalk 运行烧瓶应用程序。我想使用 DynamoDB 作为数据库。为了访问 DynamoDB,我使用了PynamoDB,它通过 botocore 访问 DynamoDB 服务。正如 AWS 文档所说,我在我的 Mac 上创建了 ~/.aws/credentials 的凭证文件并设置了 AWS 用户 access_key。烧瓶应用程序可以访问在我的 Mac 上运行的 DynamoDB。但是,通过eb deploy 部署到 Elastic Beanstalk 后,我不知道如何添加凭证文件。
我试过了:
- 复制我的项目根目录下的凭证文件。并创建一个配置文件:
02_dynamodb.config在.ebextensions下。
添加配置文件后部署失败。
- 我已经阅读了 botocore 文档,上面说我可以通过会话设置 access_key。但是,PynamoDB 无法使用自定义会话。如果需要,它将创建一个会话,该会话将从
~/.aws/credentials或.boto读取access_key
我已阅读大量文档,但不知道在将应用程序部署到 Elastic Beanstalk 后如何将 access_key 设置为 botocore 应用程序。 AWS 文档只告诉我如何在我的开发 Mac 上设置 access_key。
任何帮助将不胜感激。
更新 谢谢@mbaird!解决方案是授予 aws-elasticbeanstalk-ec2-role 的 DynamoDB 访问权限!
【问题讨论】:
-
您可以从运行代码的机器的 shell 手动设置环境变量。即“导出 AWS_ACCESS_KEY_ID=值”。您还需要对秘密访问密钥和区域执行此操作。见链接:docs.aws.amazon.com/cli/latest/userguide/…
标签: python amazon-web-services flask amazon-elastic-beanstalk amazon-dynamodb