Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Führen Sie einen Vergleich durch, um die Infrastrukturänderungen zwischen den AWS CDK Stacks zu sehen.
Dieser Befehl wird normalerweise verwendet, um Unterschiede zwischen dem aktuellen Status der Stacks in Ihrer lokalen CDK-App und den bereitgestellten Stacks zu vergleichen. Sie können jedoch auch einen bereitgestellten Stack mit einer beliebigen lokalen Vorlage vergleichen. AWS CloudFormation
Verwendung
$
cdk diff
<arguments>
<options>
Argumente
- CDK-Stack-ID
-
Die Konstrukt-ID des CDK-Stacks aus Ihrer App, um einen Vergleich durchzuführen.
Typ: Zeichenfolge
Required: No
Optionen
Für eine Liste globaler Optionen, die mit allen CDKs funktionieren CLI Befehle finden Sie unterGlobale Optionen.
--change-set
BOOLEAN
-
Geben Sie an, ob ein Änderungssatz erstellt werden soll, um den Austausch von Ressourcen zu analysieren.
Wann
true
, das CDK CLI erstellt einen AWS CloudFormation Änderungssatz, in dem die genauen Änderungen angezeigt werden, die an Ihrem Stack vorgenommen werden. Diese Ausgabe beinhaltet, ob Ressourcen aktualisiert oder ersetzt werden. Das CDK CLI verwendet die Bereitstellungsrolle anstelle der Suchrolle, um diese Aktion auszuführen.Wenn
false
ein schnellerer, aber weniger genauer Vergleich durch den Vergleich CloudFormation von Vorlagen durchgeführt wird. Jede Änderung, die an Eigenschaften erkannt wird, für die eine Ressource ersetzt werden muss, wird als Ressourcenersatz angezeigt, auch wenn es sich um eine rein kosmetische Änderung handelt, z. B. das Ersetzen einer Ressourcenreferenz durch einen hartcodierten ARN.Standardwert:
true
--context-lines
NUMBER
-
Anzahl der Kontextzeilen, die in das beliebige JSON-Diff-Rendering aufgenommen werden sollen.
Standardwert:
3
--exclusively, -e
BOOLEAN
-
Vergleicht nur angeforderte Stacks und schließt keine Abhängigkeiten ein.
--fail
BOOLEAN
-
Schlägt fehl und beendet das Programm mit dem Code
1
, ob Unterschiede erkannt wurden. --help, -h
BOOLEAN
-
Zeigt Befehlsreferenzinformationen für den
cdk diff
Befehl an. --processed
BOOLEAN
-
Geben Sie an, ob bereits verarbeitete CloudFormation Transformationen mit der Vorlage verglichen werden sollen.
Standardwert:
false
--quiet, -q
BOOLEAN
-
Drucken Sie den CDK-Stacknamen und die
cdk diff
Standardnachricht nicht aus,stdout
wenn keine Änderungen erkannt wurden.Standardwert:
false
--security-only
BOOLEAN
-
Nur Diff für erweiterte Sicherheitsänderungen.
Standardwert:
false
--strict
BOOLEAN
-
Ändern Sie
cdk diff
das Verhalten, sodass es genauer oder strenger ist. Wenn wahr, das CDK CLI filtert keineAWS::CDK::Metadata
Ressourcen oder unlesbaren Nicht-ASCII-Zeichen heraus.Standardwert:
false
--template
STRING
-
Der Pfad zur CloudFormation Vorlage, mit der ein CDK-Stack verglichen werden soll.
Beispiele
Vergleich mit dem aktuell bereitgestellten Stack mit dem Namen MyStackName
Das CDK CLI verwendet die folgenden Symbole in der Diff-Ausgabe:
-
[+]
— Identifiziert Code oder Ressourcen, die hinzugefügt werden, wenn Sie Ihre Änderungen implementieren. -
[-]
— Identifiziert Code oder Ressourcen, die entfernt werden, wenn Sie Ihre Änderungen implementieren. -
[~]
— Identifiziert eine Ressource oder Eigenschaft, die geändert wird, wenn Sie Ihre Änderungen implementieren.
Das Folgende ist ein Beispiel, das einen Unterschied zwischen lokalen Änderungen an einer Lambda-Funktion zeigt:
$
cdk diff MyStackName
start: Buildingasset-hash
:account-Region
success: Builtasset-hash
:account-Region
start: Publishingasset-hash
:account-Region
success: Publishedasset-hash
:account-Region
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Stack MyStackName Resources [~] AWS::Lambda::Function HelloWorldFunctionresource-logical-ID
└─ [~] Code └─ [~] .ZipFile: ├─ [-] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello World!'), }; }; └─ [+] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello from CDK!'), }; }; ✨ Number of stacks with differences: 1
Ein [~]
Indikator für Ressourcen, die geändert werden, bedeutet nicht immer, dass Ressourcen vollständig ersetzt werden:
-
Einige Ressourceneigenschaften, z.
Code
B. werden die Ressource aktualisieren. -
Einige Ressourceneigenschaften, wie z. B.
FunctionName
, können dazu führen, dass die Ressource vollständig ersetzt wird.
Vergleich mit einer bestimmten CloudFormation Vorlage
$
cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
Vergleicht einen lokalen Stack mit seinem bereitgestellten Stack. Drucken Sie nicht auf die Standardausgabe, wenn keine Änderungen erkannt wurden
$
cdk diff MyStackName --app='node bin/main.js' --quiet