0

我们正在使用无服务器框架进行部署。

我们首先要创建一个 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,但出现错误 unsupported property。

有哪些可能的选择?

  1. 无服务器框架中是否有类似 DependsOn 的东西。
  2. 这可以使用嵌套堆栈来处理吗?
4

1 回答 1

0

在 CloudFormation 中处理这些依赖关系问题的一种方法是简单地使用依赖资源中的完整 ARN,而不是使用对原始资源的引用(从中自动推断出 ARN)。这在指定原始资源的 ARN(例如,对于 S3 存储桶、IAM 角色)时有效,但在资源 ARN 具有某些自动生成的组件(例如 CloudFront 分配)时无效。

我假设,但不确定,这也适用于无服务器。

于 2019-10-15T15:12:07.753 回答