AWS CDK中如何禁用栈自动回滚?Lambda失败时仅显示失败状态
AWS CDK中自定义资源Lambda失败时避免栈回滚的解决方案
可以通过CDK为栈设置disableRollback属性来实现你的需求,具体操作如下:
核心配置方式:在定义CDK栈时,通过
StackProps中的disableRollback参数,将其设置为true,即可禁用栈部署失败后的自动回滚机制。当自定义资源触发的Lambda执行失败时,栈会停留在失败状态,不会回滚到先前版本。代码示例(TypeScript):
import { Stack, StackProps, App } from 'aws-cdk-lib'; export class CustomResourceStack extends Stack { constructor(scope: App, id: string, props?: StackProps) { super(scope, id, { ...props, disableRollback: true // 开启禁用回滚 }); // 在此定义你的自定义资源、关联Lambda等逻辑 } }
- 注意事项:
- 该属性作用于整个栈,一旦开启,栈内任何部署失败的场景都会触发禁用回滚,并非只针对自定义资源的Lambda失败情况。
- 若后续需要恢复自动回滚机制,只需将
disableRollback改回false,重新部署栈即可。
内容的提问来源于stack exchange,提问作者priyadhingra19
相关产品推荐
相关产品推荐

