这是 AWS CDK v2 开发者指南。较旧的 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
cdk diff
执行差异以查看 AWS CDK 堆栈之间的基础架构变化。
此命令通常用于比较本地 CDK 应用程序中堆栈的当前状态与已部署堆栈之间的差异。但是,您也可以将已部署的堆栈与任何本地 AWS CloudFormation 模板进行比较。
使用量
$
cdk diff
<arguments>
<options>
参数
- CDK 堆栈逻辑 ID
-
您的应用程序中用于执行差异的 CDK 堆栈的逻辑 ID。
类型:字符串
必需:否
Options
有关适用于所有 CDK CLI 命令的全局选项的列表,请参阅全球期权。
--change-set
BOOLEAN
-
指定是否创建更改集来分析资源替换。
何时
true
,CDK CLI 将创建一个 AWS CloudFormation 更改集,以显示将对您的堆栈所做的确切更改。此输出包括是更新还是替换资源。CDK CLI 使用部署角色而不是查找角色来执行此操作。何时
false
,通过比较模板来执行更快但不太准确的差异。 CloudFormation 检测到的需要资源替换的属性的任何更改都将显示为资源替换,即使更改纯粹是表面上的,例如用硬编码的 ARN 替换资源引用。默认值:
true
--context-lines
NUMBER
-
任意 JSON 差异渲染中要包含的上下文行数。
默认值:
3
--exclusively, -e
BOOLEAN
-
只对请求的堆栈进行比较,不包括依赖关系。
--fail
BOOLEAN
-
失败并退出,
1
如果检测到差异,则返回代码。 --help, -h
BOOLEAN
-
显示命令的
cdk diff
命令参考信息。 --processed
BOOLEAN
-
指定是否与已处理 CloudFormation 变换的模板进行比较。
默认值:
false
--quiet, -q
BOOLEAN
-
当未检测到任何更改
stdout
时,请勿将 CDK 堆栈名称和默认cdk diff
消息打印到。默认值:
false
--security-only
BOOLEAN
-
只有在更广泛的安全更改时才会有差异。
默认值:
false
--strict
BOOLEAN
-
修改
cdk diff
行为使其更加精确或严格。如果为 true,CDK CLI 将不会过滤掉AWS::CDK::Metadata
资源或不可读的非 ASCII 字符。默认值:
false
--template
STRING
-
要与 CDK 堆栈进行比较的 CloudFormation 模板路径。
示例
与当前部署的名为的堆栈进行比较 MyStackName
$
cdk diff MyStackName --app='node bin/main.js'
与特定 CloudFormation 模板进行比较
$
cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
将本地堆栈与其部署的堆栈进行比较。如果未检测到任何更改,请不要打印到 stdout
$
cdk diff MyStackName --app='node bin/main.js' --quiet