我有一个 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
block 或 DependsOn
。 CloudFormation 依赖引擎将理解 lambda1 需要在 lambda2 之前执行。
关于amazon-web-services - Cloudformation 自定义资源编排/优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51199255/