Ceci est le guide du AWS CDK développeur de la version 2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Effectuez une comparaison pour voir les changements d'infrastructure entre les AWS CDK piles.
Cette commande est généralement utilisée pour comparer les différences entre l'état actuel des piles dans votre application CDK locale et les piles déployées. Toutefois, vous pouvez également comparer une pile déployée avec n'importe quel AWS CloudFormation modèle local.
Utilisation
$
cdk diff
<arguments>
<options>
Arguments
- ID de pile CDK
-
L'ID de construction de la pile CDK de votre application pour effectuer une différence.
Type : chaîne
Obligatoire : non
Options
Pour une liste des options globales qui fonctionnent avec tous les CDK CLI commandes, voirOptions globales.
--change-set
BOOLEAN
-
Spécifiez s'il faut créer un ensemble de modifications pour analyser les remplacements de ressources.
Quand
true
, le CDK CLI créera un ensemble de AWS CloudFormation modifications pour afficher les modifications exactes qui seront apportées à votre pile. Ce résultat indique si les ressources seront mises à jour ou remplacées. Le CDK CLI utilise le rôle de déploiement au lieu du rôle de recherche pour effectuer cette action.Lorsque
false
, une différence plus rapide mais moins précise est effectuée en comparant des modèles. CloudFormation Toute modification détectée dans les propriétés nécessitant le remplacement de ressources sera affichée comme un remplacement de ressource, même si la modification est purement esthétique, comme le remplacement d'une référence de ressource par un ARN codé en dur.Valeur par défaut :
true
--context-lines
NUMBER
-
Nombre de lignes de contexte à inclure dans un rendu différentiel JSON arbitraire.
Valeur par défaut :
3
--exclusively, -e
BOOLEAN
-
Différenciez uniquement les piles demandées et n'incluez pas les dépendances.
--fail
BOOLEAN
-
Échouez et quittez avec un code indiquant
1
si des différences sont détectées. --help, -h
BOOLEAN
-
Afficher les informations de référence relatives à la
cdk diff
commande. --processed
BOOLEAN
-
Spécifiez s'il faut effectuer une comparaison avec le modèle avec les CloudFormation transformations déjà traitées.
Valeur par défaut :
false
--quiet, -q
BOOLEAN
-
N'imprimez pas le nom de la pile CDK ni le
cdk diff
message par défautstdout
lorsqu'aucune modification n'est détectée.Valeur par défaut :
false
--security-only
BOOLEAN
-
Ne différentiez que pour les modifications de sécurité étendues.
Valeur par défaut :
false
--strict
BOOLEAN
-
Modifiez
cdk diff
le comportement pour qu'il soit plus précis ou plus strict. Lorsque c'est vrai, le CDK CLI ne filtrera pas lesAWS::CDK::Metadata
ressources ni les caractères non ASCII illisibles.Valeur par défaut :
false
--template
STRING
-
Le chemin d'accès au CloudFormation modèle avec lequel comparer une pile de CDK.
Exemples
Différence par rapport à la pile actuellement déployée nommée MyStackName
Le CDK CLI utilise les symboles suivants dans la sortie diff :
-
[+]
— Identifie le code ou les ressources qui seront ajoutés si vous déployez vos modifications. -
[-]
— Identifie le code ou les ressources qui seront supprimés si vous déployez vos modifications. -
[~]
— Identifie une ressource ou une propriété qui sera modifiée si vous déployez vos modifications.
L'exemple suivant montre une différence entre les modifications locales apportées à une fonction Lambda :
$
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
Un [~]
indicateur des ressources qui seront modifiées ne signifie pas toujours un remplacement complet des ressources :
-
Certaines propriétés de ressource, telles que
Code
, mettent à jour la ressource. -
Certaines propriétés des ressources, telles que
FunctionName
, peuvent entraîner le remplacement complet des ressources.
Différencier par rapport à un modèle spécifique CloudFormation
$
cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
Différenciez une pile locale avec sa pile déployée. Ne pas imprimer sur la sortie standard si aucune modification n'est détectée
$
cdk diff MyStackName --app='node bin/main.js' --quiet