reference resources between CDK stacks

0

Hi Team,

I have 2 CDK stacks one in the Front end project and the second in the Backend project.

the first stack needs resources ref from the second stack (and vice versa can be true)

I have a lambda function in the backend stack that needs to call another lambda in the front end stack,

If I deploy the backend CDK stack first, how can I make a reference/call to the second lambda in the front end stack?

If I use event bridge or SNS I still need to have the name of the target lambda which is the lambda created by the CDK front end or I need the SNS ref to be shared between the 2 stacks for pub/sub.

any idea how to solve this :)

Thank you.

2 回答
3

CloudFormation supports the concept of exporting outputs from one stack and importing their values into another stack.

In CDK, you can export a resource's output by creating a cfnOutput with an exportName property. You can also use Fn.ImportValue to import an exported value to a stack from a different stack.

Here's a blog post that illustrates this concept in further detail.

Note that neither CDK nor CloudFormation support circular stack dependencies, so you can't have stack A depend on a resource in stack B while also having stack B depend on a resource in stack A. The stack dependency graph must be acyclical.

AWS
专家
已回答 2 年前
1

CDK can handle export/import of the resource variable automatically.

If you make a resource a member variable of the stack instance, and reference that stack member variable from the other stack by passing the variable as a property of stack props parameter, CDK will export the resource reference, and import it from the other stack automatically.

You can find more detailed information from https://docs.aws.amazon.com/cdk/v2/guide/resources.html#resource_stack.

Be aware that this operation only supported in a same region stacks. If you need to deploy the two stacks in two different regions, you need other mechanism.

AWS
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则