在没有AWS访问密钥的情况下部署Flask应用程序

时间:2020-08-19 00:35:25

标签: python amazon-web-services python-zappa

我有使用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_keyaws_secret_access_key
我创建了一个单独的空lambda函数,并设置了适当的角色和权限,然后在函数代码中,我跳过了放置访问和密钥的操作

client = boto3.client('s3')

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

有没有一种方法可以绕过将aws_access_keyaws_secret_access_key放入Flask应用程序并部署到lambda?

1 个答案:

答案 0 :(得分:1)

Zappa建议设置an AWS credentials file。这应该使您可以将凭据保留在代码之外,但可以让SDK查找和使用您的凭据。