【发布时间】:2020-06-13 12:28:21
【问题描述】:
我正在 Python 3.8 中编写一个 lambda 函数。该函数使用 boto3 与 dynamodb 连接:
db = boto3.resource('dynamodb', region_name='foo', aws_access_key_id='foo', aws_secret_access_key='foo')
这就是我在本地机器上开发并需要测试功能时所拥有的。但是,当我将它部署到 lambda 时,我可以删除凭据,我的函数将连接到 dynamodb if I have the proper IAM roles and policies setup in place。例如,此代码在部署到 lambda 时可以正常工作:
db = boto3.resource('dynamodb', region_name='foo')
问题是,在将代码推送到 lambda 方面,我该如何管理?我正在使用 AWS SAM 部署到 AWS。现在我所做的是,一旦我完成了我的功能开发,我手动删除了 aws_access_key_id='foo' 和 aws_secret_access_key='foo' 部分,然后使用 SAM 部署这些功能。
一定有更好的方法来做到这一点?我可以将这些嵌入到我的 IDE 中吗?我正在使用 PyCharm。那会是更好的方法吗?如果没有,还有什么?
【问题讨论】:
标签: amazon-web-services aws-lambda aws-sam