AWS SAM本地文档指出,SAM Local将使用我的本地配置的IAM凭据调用功能。
我想测试一个由lambda函数组成的云形式模板和该功能附加的角色,该模板允许访问访问一个特定S3桶的内容。存储键名既是模板参数,又是lambda函数的参数。(不确定它是否重要,但我不使用CFN模板中的无服务器转换。(
我避免使用我的管理配置文件测试此功能,因为存储桶名中的错别字将删除错误的存储桶的所有内容。
测试此类功能的建议工作流是什么?
我目前在做什么:
- 创建一个临时IAM用户/组
- 将要测试的策略附加到该组
- 在调用
sam local invoke
之前导出访问环境变量
是否有更快的方法?
用dryrun
调用lambda用Dryrun调用该功能以请求AWS lambda不执行该功能,但要进行一些验证,例如,呼叫者被授权调用该功能,并且输入是否有效。
aws lambda invoke --function-name <name> --invocation-type DryRun
为云形式创建更改集:更改集=干式运行模式
使用" Create-Crange-Set"创建更改集并查看控制台UI或CLI中的更改,然后使用CLI或UI使用执行更改应用更改。
创建更改:
aws cloudformation create-change-set --stack-name example --template-body file://templates/instance_and_route53.yml --parameters file://parameters/instance_and_route53.json --change-set-name changeset-1
执行更改
aws cloudformation execute-change-set --stack-name example --change-set-name changeset-1