微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有使用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?

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。