0

我有使用 Zappa 部署到 lambda 的 Python Flask 应用程序(由于 ORM 和 psycopg2 的东西)。我正在使用 boto 库来执行一些与 S3 相关的操作,并使用它来初始化它:

import boto3
client = boto3.client(
    's3',
    aws_access_key_id=ACCESS_KEY,
    aws_secret_access_key=SECRET_KEY
)

但我想避免在代码中使用aws_access_key和。 我创建了一个单独的空 lambda 函数并设置了适当的角色和权限,然后在函数代码中,我跳过了放置访问权限和密钥aws_secret_access_key

client = boto3.client('s3')

这很好用。但是,当我使用 zappa 部署我的 Flask 应用程序时,即使我设置了与上述相同的角色和权限(并且还提供了对 S3 的访问权限),它也不起作用。

有没有办法可以绕过把aws_access_keyaws_secret_access_key放在 Flask 应用程序中并部署到 lambda?

4

1 回答 1

1

Zappa 建议设置AWS 凭证文件。这应该允许您将凭据保留在代码之外,但允许 SDK 查找和使用您的凭据。

于 2020-08-19T00:55:38.867 回答