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.
Konfiguration Ihrer CDK Toolkit-Instanz
Erfahren Sie, wie Sie Ihre AWS CDK Toolkit-Bibliotheksinstanz mit Optionen für Nachrichtenverarbeitung, AWS Profilauswahl und Strategien zur Stapelauswahl anpassen können. In diesem Handbuch werden die verfügbaren Konfigurationsoptionen erläutert und erklärt, wie Sie diese effektiv implementieren können, um Ihre spezifischen Bereitstellungsanforderungen zu erfüllen.
Konfiguration Ihres AWS Profils
Wenn Sie die CDK Toolkit-Bibliothek verwenden, werden API-Aufrufe zur AWS Verwendung des SDK ausgeführt. Die Authentifizierung wird zwar automatisch aus Ihrer Umgebung geladen, Sie können jedoch explizit angeben, welches Profil verwendet werden soll:
import { Toolkit } from '@aws-cdk/toolkit-lib'; // Create a toolkit instance with a specific AWS profile const toolkit = new Toolkit({ sdkConfig: { profile: "my-profile" }, });
Konfiguration der Stack-Auswahl
Bei den meisten CDK Toolkit-Aktionen müssen Sie angeben, mit welchen Stacks gearbeitet werden soll. Die
StackSelector
Konfiguration steuert diese Auswahl.
Wählt alle Stapel aus
Verwenden Sie dies, wenn Sie mit jedem Stack in Ihrer CDK-App arbeiten möchten:
import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib'; // Select all stacks in the cloud assembly await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } });
Wählen Sie nur Hauptbaugruppenstapel aus
Verwenden Sie diese Option, um nur die Stapel der obersten Ebene aus der Hauptbaugruppe auszuwählen:
// Select only top-level stacks await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.MAIN_ASSEMBLY } });
Wählen Sie einen einzelnen Stapel
Verwenden Sie dies, wenn Ihre Assembly genau einen Stapel enthält und Sie diese Bedingung bestätigen möchten. Wenn die Assembly einen einzelnen Stapel enthält, gibt sie diesen Stapel zurück. Andernfalls wird eine Ausnahme ausgelöst:
// Ensure there's exactly one stack and select it await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ONLY_SINGLE } });
Wählen Sie Stapel nach Muster aus
Verwenden Sie diese Option, um bestimmte Stapel anhand des Namensmusters auszuwählen:
// Select stacks matching specific patterns await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, patterns: ["Dev-*", "Test-Backend"], // Supports wildcards } });
Tipp
Verwenden Sie diese OptionPATTERN_MUST_MATCH_SINGLE
, um sicherzustellen, dass genau ein Stapel Ihren Mustern entspricht, oder PATTERN_MATCH
wenn es akzeptabel ist, dass keine Stapel übereinstimmen. Der Musterabgleich unterstützt Platzhalter wie „*“, um mehrere Stapel mit ähnlichen Namen abzugleichen.
Konfiguration der Fehlerbehandlung
Das CDK Toolkit verwendet strukturierte Fehler, um Sie bei der Identifizierung und Behandlung von Problemen zu unterstützen. Jeder Fehler beinhaltet:
-
Eine Quelle, die angibt, woher der Fehler stammt (Toolkit oder Benutzer).
-
Ein bestimmter Fehlertyp (Authentifizierung, Validierung usw.).
-
Eine beschreibende Nachricht.
Fehlerbehandlung
Verwenden Sie die vom CDK Toolkit bereitgestellten Hilfsmethoden, um bestimmte Fehlertypen zu erkennen und zu behandeln:
import { ToolkitError } from '@aws-cdk/toolkit-lib'; try { // Attempt a CDK Toolkit operation await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } }); } catch (error) { // Handle specific error types if (ToolkitError.isAuthenticationError(error)) { // Example: AWS credentials are missing or invalid console.error('Authentication failed. Check your AWS credentials.'); } else if (ToolkitError.isAssemblyError(error)) { // Example: Your CDK app has errors in stack definitions console.error('CDK app error:', error.message); } else if (ToolkitError.isDeploymentError(error)) { // Example: CloudFormation deployment failed console.error('Deployment failed:', error.message); } else if (ToolkitError.isToolkitError(error)) { // Handle all other Toolkit errors console.error('CDK Toolkit error:', error.message); } else { // Handle unexpected errors console.error('Unexpected error:', error); } }
Wichtig
Verlassen Sie sich nicht darauf, instanceof
nach Fehlertypen zu suchen, da diese sich unerwartet verhalten können, wenn Sie mit mehreren Kopien desselben Pakets arbeiten. Verwenden Sie immer die bereitgestellten Hilfsmethoden wieToolkitError.isAuthenticationError()
.
Toolkit-Aktionen konfigurieren
Jede CDK Toolkit-Aktion (Deploy, Synth, List usw.) hat ihre eigenen spezifischen Konfigurationsoptionen. Mit diesen Aktionen können Sie den gesamten Lebenszyklus Ihrer CDK-Infrastruktur verwalten. Ausführliche Informationen zur Konfiguration einzelner Aktionen finden Sie unter Programmatische Aktionen des CDK Toolkit konfigurieren.
Tipp
Erwägen Sie beim Erstellen von Automatisierungs-Workflows, mehrere Aktionen nacheinander zu kombinieren. Beispielsweise möchten Sie möglicherweise anhand synth
Ihrer App anhand list
der Stacks überprüfen, was bereitgestellt wird, und anschließend deploy
die Infrastruktur.