无服务器 - AWS Cloud Formation - 跨堆栈循环依赖

Serverless - AWS Cloud Formation - Cross Stack Circular Dependencies

我的无服务器基础设施分为多个功能堆栈,每个堆栈都有自己的资源(发电机、主题、队列等)。

对于某些堆栈 A,我需要定义一个 lambda 来侦听另一个堆栈 B 队列事件。

假设从头开始部署,如果先部署 B,效果会很好,因为队列将在部署 A 时创建。但是我的 ci 目前是 :

sls deploy A
sls deploy B

例如,在 B 中添加 SQS 资源并在 A 中引用它会导致部署失败,因为在 A 部署期间 B SQS 资源尚不存在。

如何正确处理这种跨堆栈依赖?

How can I handle this kind of cross stack dependency properly ?

您必须重新设计模板。您不能 A 中的资源引用 B 中不存在的资源。您必须将所有移动到 A,以便其 自给自足 ,或引入 新堆栈 ,它将拥有公共资源并在 A 和 B 之前部署.