删除带有引用的资源



Hi我有一个堆栈,它创建了一个cognito用户池,作为其中的一部分,我导出一些输出,以便通过导入导出值来交叉引用堆栈,但当我尝试删除导出名称的模板时,我已经有一些用户使用导出值,AWS会抛出一个错误,声明我无法删除资源,因为引用,所以我认为这是设计中的一个缺陷,因为我是按名称引用的,据我所知,我们可能会有想要删除资源并重新创建它的情况,这就是导出名称没有附加到特定资源的原因,但现在我认为,即使我们命名了,它也附加到了特定资源,所以我想知道是否有办法做到这一点,否则我认为这可能不是一个可以生产的功能?或者我使用错误的

遗憾的是,您无法删除或更新(替换(导出其输出(从文档(的堆栈:

在另一个堆栈导入输出值后,您不能删除正在导出输出值的堆栈,也不能修改导出的输出值。必须先删除所有导入,然后才能删除导出堆栈或修改输出值。

这不是一个";设计缺陷";。这是经过设计的。如果您可以删除由其他人导入其输出的堆栈,这将导致大量基础设施损坏和麻烦。

因此,当您导出和导入时,您做出了strong承诺,即只要输出被使用,导出堆栈就会一直存在。

如果您喜欢松散地耦合您的堆栈而不进行此类承诺,则不应使用导出/导入。相反,您将第一个堆栈的输出作为输入参数提供给第二个堆栈。这使得您的体系结构松散耦合,通常允许您自由删除/修改任何堆栈。

最新更新