【问题标题】:Using AWS from a Flask App running in ElasticBeanstalk从在 ElasticBeanstalk 中运行的 Flask 应用程序使用 AWS
【发布时间】:2021-01-30 13:27:05
【问题描述】:
目前,我有一个在 Flask 上开发的应用程序。此应用程序使用使用 boto3 库的 AWS 服务,该库需要在我的个人计算机(使用 AWS CLI)中设置我的 AWS 凭证才能运行。
但是,我想在 ElasticBeanstalk 中运行我的 Flask 应用程序。如何在我的 ElasticBeanstalk 服务器中设置我的 AWS 凭证,以便 boto3 正常运行?
【问题讨论】:
标签:
amazon-web-services
flask
amazon-elastic-beanstalk
boto3
【解决方案1】:
您可以按照 AWS 文档 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-softwaresettings.html 将您的凭证存储到 Environment properties
- 打开 Elastic Beanstalk 控制台,然后在区域列表中,选择您的 AWS 区域。
- 在导航窗格中,选择环境,然后从列表中选择您的环境名称。
- 在导航窗格中,选择配置。
- 在“软件配置”类别中,选择“编辑”。
- 在环境属性下,输入键值对。
然后您可以从 Flask 应用程序访问它们
import os
s3_client = boto3.client('s3',
aws_access_key_id=os.environ['your_key'],
aws_secret_access_key=settings.os.environ['your_secret_key'],
region_name=os.environ['your_region_key']
)