Cloudformation 自定义资源 Orchestration/precedence?

Cloudformation Custom Resource Orchestration/precedence?

我有一个 Cloudformation 自定义资源,我想使用它的输出并调用另一个自定义资源。

我尝试导出输出,并尝试使用 DependsOn,希望它能设置一些优先顺序。

这可能吗:

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Description: Run Lambda1, then run Lambda2 w/ outpu from Lambda1
Outputs:
      lambda1Output:
        Value:
          Fn::GetAtt:
          - lambda1
          - test
        Export:
            Name: lambda1Outputs
Resources:
  lambda1:
    Type: Custom::test
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:761861444952:function:runOnce
  lambda2:
    Type: Custom::test2
    DependsOn: lambda1
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:761861444952:function:runOnce
      myParameter: !ImportValue lambda1Outputs

有一种更简单的方法可以实现您的目标。

Resources:
  lambda1:
    Type: Custom::test
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:761861444952:function:runOnce
  lambda2:
    Type: Custom::test2
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:761861444952:function:runOnce
      myParameter: !GetAtt lambda1.test

所以不需要 Outputs 块或 DependsOn。 CloudFormation 依赖引擎会理解 lambda1 需要在 lambda2 之前执行。