提问者:小点点

当参数更改时,如何使 Cloudformation 使用宏重新处理模板?


我有一个使用自定义宏来生成模板的一部分的云形成模板。宏的lambda使用模板参数(通过传入事件中的templateParameterValue字段)来生成模板片段。

当我更改Cloudformation堆栈的参数时,我得到一个错误:

提交的信息不包含更改。提交不同的信息以创建更改集。

如果我使用CLI,我会得到类似的错误:

调用UpdateStack操作时发生错误(ValidationError):不执行任何更新。

我正在更改的参数仅由宏使用,而不是模板的其余部分。

当我更新这些参数时,如何使 Cloudformation 使用宏重新处理模板?


共2个答案

匿名用户

在使用AWS Support后,我了解到您必须再次提供模板才能重新处理宏。

即使它是相同的模板,它也会导致宏被重新处理。

您可以通过控制台 UI(通过再次上传模板文件)或 CLI(通过再次传递模板/模板 URL)执行此操作。

匿名用户

我最近在使用count宏创建实例时遇到了这种情况。

我发现,通过将模板的这一部分移动到嵌套堆栈中并传递参数,我可以只修改宏使用的参数。拥有独立的堆栈确实需要做更多的工作,但是它允许我按照自己的意愿修改父堆栈的参数。