在AWS CloudFormation中,可以使用ImportValue函数来导入另一个堆栈中的输出值。下面是一个包含代码示例的解决方法:
StackA,并在该堆栈中定义一个输出值,例如OutputValueA。Resources:
MyResource:
Type: AWS::EC2::Instance
Properties:
...
Outputs:
OutputValueA:
Value: !Ref MyResource
Export:
Name: StackA-OutputValueA
StackB中,使用ImportValue函数来导入StackA中的输出值。Resources:
MyResourceB:
Type: AWS::EC2::Instance
Properties:
...
MyResourceC:
Type: AWS::EC2::Instance
Properties:
...
MyResourceD:
Type: AWS::EC2::Instance
Properties:
...
Outputs:
OutputValueB:
Value: !ImportValue StackA-OutputValueA
在上述示例中,StackB中的OutputValueB使用ImportValue函数来导入StackA中的OutputValueA。这样,StackB中的其他资源可以使用OutputValueB作为输入参数。
请注意,导入值是跨堆栈的,因此StackA必须在StackB之前部署。