【问题标题】:How boto3 is configured on AWS lambda如何在 AWS lambda 上配置 boto3
【发布时间】:2021-04-13 21:04:41
【问题描述】:
据我了解,必须配置 boto3 模块(用于指定 aws_access_key_id 和
aws_secret_access_key) 在我可以使用它访问任何 AWS 服务之前。
从documentation开始,三种配置方式分别是:
1.创建客户端时作为配置参数创建并传递的配置对象
2.环境变量
3.~/.aws/config文件
但是,对于我读过的示例,如果直接在 AWS lambda 上编写,则无需配置。此外,没有环境变量,我找不到配置文件。 boto3在 AWS lambda 上是如何配置的?
【问题讨论】:
标签:
amazon-web-services
aws-lambda
boto3
【解决方案1】:
没有环境变量
是的,他们是。它们被列出here。每个函数都可以访问许多环境变量,包括:
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN – 从函数的执行角色获取的访问密钥。
所以 boto3 从这些环境变量中获取其凭据。这些变量是从您的函数承担的函数执行角色中填充的。
【解决方案2】:
创建 AWS Lambda 函数时,您选择该函数将使用的 IAM 角色。
您在函数中的代码将自动提供与该 IAM 角色关联的凭证。 无需提供任何凭证。(可以将其想象为在 Amazon EC2 实例上运行的软件从 IAM 角色接收凭证的方式相同。)