我们正在使用无服务器框架进行部署。
我们要首先创建一个IAM角色。
此IAM角色将在另一个AWS资源创建中使用。
我们如何确保在另一个资源创建中使用Lambda角色之前将其创建?
这是serverless.yml文件的代码段
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
AWS: arn:aws:iam::${self:custom.accountId}:role/lambdaRole1
Service:
- lambda.amazonaws.com
Action: sts:AssumeRole
此lambdaRol1需要在创建此新资源之前创建(这是另一个IAM角色)
我们尝试使用DependsOn,但获得了不受支持的错误。
可能的选择是什么?
答案 0 :(得分:0)
在CloudFormation中处理这些依赖性问题的一种方法是简单地在依赖性资源中使用完整的ARN,而不是使用对原始资源的引用(将从中自动推断出ARN)。当您您指定原始资源的ARN(例如,用于S3存储桶,IAM角色)时有效,但是当资源ARN具有某些自动生成的组件(例如CloudFront发行版)时,则无效。 >
我假设但不确定,这也适用于Serverless。