

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 gewartet 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.

# AWS CDK-Referenz
<a name="reference"></a>

Dieser Abschnitt enthält Referenzinformationen für das AWS Cloud Development Kit (AWS CDK).

## API-Referenz
<a name="reference-api"></a>

Die [API-Referenz](https://docs.aws.amazon.com/cdk/api/v2) enthält Informationen zur AWS Construct-Bibliothek und zu anderen Informationen, die vom AWS Cloud Development Kit (AWS CDK) APIs bereitgestellt werden. Der größte Teil der AWS Construct-Bibliothek ist in einem einzigen Paket enthalten, das mit seinem TypeScript Namen bezeichnet wird:`aws-cdk-lib`. Der tatsächliche Paketname variiert je nach Sprache. Für jede unterstützte Programmiersprache werden separate Versionen der API-Referenz bereitgestellt.

Die CDK-API-Referenz ist in Untermodule unterteilt. Für jeden Dienst gibt es ein oder mehrere Untermodule. AWS 

Jedes Untermodul hat eine Übersicht, die Informationen zur Verwendung des Moduls enthält. APIs In der [S3-Übersicht](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html) wird beispielsweise gezeigt, wie die Standardverschlüsselung für einen Amazon Simple Storage Service (Amazon S3) -Bucket festgelegt wird.

# AWS CDK-Versionierung
<a name="versioning"></a>

Dieses Thema enthält Referenzinformationen darüber, wie das AWS Cloud Development Kit (AWS CDK) mit der Versionierung umgeht.

*Versionsnummern bestehen aus drei numerischen Versionsteilen: Hauptversion.* *unbedeutend*. *patchen* und weitgehend den Prinzipien der [semantischen Versionierung](https://semver.org) folgen, mit einigen Einschränkungen, die in den Erläuterungen zur [semantischen Versionierung der AWS Construct Library](https://docs.aws.amazon.com/cdk/v2/guide/versioning.html#aws-construct-lib-semver) beschrieben sind. Das bedeutet, dass grundlegende Änderungen, die APIs wir für stabil halten, auf Hauptversionen beschränkt sind.

Neben- und Patch-Versionen sind abwärtskompatibel. Der Code, der in einer früheren Version mit derselben Hauptversion geschrieben wurde, kann innerhalb derselben Hauptversion auf eine neuere Version aktualisiert werden. Es wird weiter gebaut und ausgeführt, sodass ein funktionell gleichwertiges Ergebnis erzielt wird. Für einige fortgeschrittene Anwendungsfälle sind kleine Änderungen an Ihrem Code erforderlich, wie im nächsten Thema beschrieben.

## AWS Kompatibilität mit dem CDK Toolkit
<a name="cdk-toolkit-versioning"></a>

Jede Version der AWS Haupt-Construct-Bibliothek (`aws-cdk-lib`) ist mit der AWS CDK Toolkit-CLI (`aws-cdk-cli`) und der Toolkit-Bibliothek (`@aws-cdk/toolkit-lib`) kompatibel, die zum Zeitpunkt der Veröffentlichung der AWS Construct Library aktuell waren. Sie ist auch mit jeder neueren Version des CDK Toolkits kompatibel. AWS Jede Version der AWS Construct-Bibliothek behält diese Kompatibilität bis zum *Ende der Lebensdauer der* Bibliothek bei. Solange Sie eine unterstützte Version von AWS Construct Library verwenden, ist es daher immer sicher, Ihre AWS CDK Toolkit-Version zu aktualisieren.

Jede Version der AWS Construct Library funktioniert möglicherweise auch mit AWS CDK Toolkit-Versionen, die älter sind als die Version, die zum Zeitpunkt der Veröffentlichung der AWS Construct Library aktuell war. Dies ist jedoch nicht garantiert. Die Kompatibilität hängt von der Cloud-Assembly-Schemaversion der AWS Construct Library ab. Das AWS CDK generiert während der Synthese eine Cloud-Assembly und das AWS CDK Toolkit verwendet sie für die Bereitstellung. Das Schema, das das Format der Cloud-Assembly definiert, ist streng spezifiziert und versioniert. Daher müsste eine ältere Version des AWS CDK Toolkits die Cloud-Assembly-Schemaversion der AWS Construct Library unterstützen, damit sie kompatibel sind.

Wenn die von der AWS Construct Library benötigte Cloud-Assembly-Version nicht mit der vom AWS CDK Toolkit unterstützten Version kompatibel ist, erhalten Sie eine Fehlermeldung wie die folgende:

```
Cloud assembly schema version mismatch: Maximum schema version supported is 3.0.0, but found 4.0.0.
    Please upgrade your CLI in order to interact with this app.
```

Um diesen Fehler zu beheben, aktualisieren Sie das AWS CDK Toolkit auf eine Version, die mit der erforderlichen Cloud-Assembly-Version kompatibel ist, oder auf die neueste verfügbare Version. Die Alternative (Herabstufung der AWS Construct Library-Module, die Ihre App verwendet) wird im Allgemeinen nicht empfohlen.

**Anmerkung**  
*Weitere Informationen zu den genauen Kombinationen von Versionen, die zusammenarbeiten, finden Sie in der [Kompatibilitätstabelle](https://github.com/aws/aws-cdk-cli/blob/main/COMPATIBILITY.md) im aws-cdk-cli GitHub Repository.*

## AWS Versionsverwaltung der Construct-Bibliothek
<a name="aws-construct-lib-stability"></a>

Die Module in der AWS Construct Library durchlaufen bei ihrer Entwicklung vom Konzept bis zur ausgereiften API verschiedene Phasen. Verschiedene Phasen bieten unterschiedliche Grade an API-Stabilität in nachfolgenden Versionen des AWS CDK.

Mit Ausnahme von Szenarien, in denen die im nächsten Thema dokumentierten Vorbehalte gelten, ist die Hauptbibliothek AWS Construct Library (`aws-cdk-lib`) stabil und die Bibliothek folgt APIs im Großen und Ganzen den Prinzipien der semantischen Versionierung. Die Bibliothek enthält AWS CloudFormation (L1) -Konstrukte für alle AWS Dienste, die automatisch aus [Schemas von CloudFormation Ressourcenanbietern](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/resource-type-schemas.html) generiert werden und manchmal abwärtsinkompatible Updates enthalten können. Sie enthält auch Konstrukte auf höherer Ebene (L2 und L3) und die CDK-Kernklassen wie und, die alle stabil sind. `App` `Stack` APIs werden erst mit der nächsten Hauptversion des CDK aus diesem Paket entfernt (obwohl sie möglicherweise veraltet sind). Wenn eine grundlegende Änderung an einer stabilen API erforderlich ist, wird eine völlig neue API hinzugefügt.

Neue APIs Dienste, die sich in der Entwicklung `aws-cdk-lib` befinden, werden anhand eines `Beta<N>` Suffixes identifiziert, das bei 1 `N` beginnt und bei jeder wichtigen Änderung an der neuen API erhöht wird. `Beta<N>` APIs werden nie entfernt, sondern nur als veraltet markiert, sodass Ihre bestehende App weiterhin mit neueren Versionen von funktioniert. `aws-cdk-lib` Wenn die API als stabil eingestuft wird, wird eine neue API ohne das `Beta<N>` Suffix hinzugefügt.

Wenn mit der Entwicklung einer höheren Ebene (L2 oder L3) für einen AWS Dienst APIs begonnen wird, für den zuvor nur L1 verfügbar war APIs, APIs werden diese zunächst in einem separaten Paket verteilt. Der Name eines solchen Pakets hat das Suffix „Alpha“, und seine Version entspricht der ersten Version, mit der `aws-cdk-lib` es kompatibel ist, mit einer Unterversion. `alpha` Wenn das Modul die vorgesehenen Anwendungsfälle unterstützt, APIs werden diese hinzugefügt. `aws-cdk-lib`

## AWS Erläuterungen zur semantischen Versionierung von Construct Library
<a name="aws-construct-lib-semver"></a>

Die AWS Construct Library folgt zwar im Großen und Ganzen den Prinzipien der semantischen Versionierung, es gibt jedoch einige wichtige Vorbehalte, die sich speziell auf unsere Implementierung beziehen. Im Allgemeinen gewährleistet die AWS Construct-Bibliothek die Stabilität für API-Nutzer, fügt den Konstruktautoren jedoch manchmal zusätzliche Belastungen hinzu, um die notwendige Weiterentwicklung des Frameworks zu ermöglichen.
+  **Änderungen, die sich auf die Sicherheit auswirken** 

  Um unseren Sicherheitsanforderungen gerecht zu werden, müssen wir möglicherweise Änderungen vornehmen, die nicht APIs rückwärts kompatibel sind, oder sie vollständig entfernen. Dadurch wird verhindert, dass Betroffene APIs verwendet werden, und es wird eine Aktualisierung der Implementierungen erzwungen.
+  **Funktionen werden bewusst beschrieben** 

  Wir sind bestrebt, unerwartete Änderungen so gering wie möglich zu halten, bevorzugen jedoch die *Absicht gegenüber der Stabilität der Implementierung*. Die AWS Construct-Bibliothek garantiert nicht, dass Konstrukte immer nach exakt derselben CloudFormation Vorlage synthetisiert werden oder exakt dieselben Ressourcen verwenden. Dies gilt insbesondere für Konstrukte auf höherer Ebene, bei denen dasselbe Ziel oft auf unterschiedliche Weise erreicht werden kann.
+  **Implementierung von Schnittstellen und abstrakten Klassen** 

  Schnittstellen und abstrakte Klassen in der AWS Construct Library sind für **Verbraucher** stabil, aber nicht für **Implementierer.** Das bedeutet, dass Sie sich darauf verlassen können, dass Schnittstellen mindestens die gleiche Funktionalität bieten wie `s3.IBucket` zu dem Zeitpunkt (Version der AWS Construct-Bibliothek), als Sie mit der Nutzung der Schnittstelle oder abstrakten Klasse begonnen haben. Interfaces und abstrakten Klassen werden jedoch regelmäßig neue (abstrakte) Mitglieder hinzugefügt. Für jeden, **der sie implementiert**, bedeutet dies einen zusätzlichen Implementierungsaufwand, den es bei der Aktualisierung zu berücksichtigen gilt, da die Implementierung die neuen Mitglieder noch nicht implementieren würde. Ergänzungen zu Schnittstellen und abstrakten Klassen für Implementierer strikt als bahnbrechende Änderungen zu behandeln, würde die Entwicklungsfähigkeit der Construct-Bibliothek übermäßig einschränken. AWS In den meisten Fällen sollten Implementierer es vorziehen, konkrete Klassen wie zu erweitern. `s3.Bucket`
+  **L1-Konstrukte, generierter Code und andere APIs , die als extern gekennzeichnet sind** 

  Teile der AWS Construct-Bibliothek werden aus Datenquellen generiert, die direkt von Diensten stammen AWS . Um diese mit der Realität in APIs Einklang zu bringen, kann der generierte Code rückwärtsinkompatible Änderungen enthalten. In den meisten Fällen werden Datenquellen aktualisiert, um die Realität korrekt wiederzugeben und falsche Darstellungen zu korrigieren. *Ihre IDEs IntelliSense werden APIs zusammen mit der `@stability — external` Anmerkung extern angezeigt.* 
+  **Nur semantisch korrekte Programme** 

  Wir stellen sicher, dass die richtigen Programme auch mit neueren Versionen funktionieren. Programme, die formal falsch sind, aber aufgrund von Implementierungsdetails funktionieren, werden nicht behandelt. Wenn sich Ihr Programm beispielsweise auf TypeScript die [Regeln für die Strukturtypisierung](https://www.typescriptlang.org/docs/handbook/type-compatibility.html) stützt, um unerwartete Objekttypen zu übergeben, oder wenn es erfolgreich synthetisiert, aber eine CloudFormation Vorlage erzeugt, die nicht bereitgestellt werden kann, können wir Änderungen vornehmen, die dazu führen, dass diese Programme fehlschlagen, ohne dass sie als grundlegende Änderungen angesehen werden.
+  **Spezifische Sprachbindungen** 

  Sprachbindungen können in einer sehr begrenzten Anzahl von Situationen rückwärtsinkompatible Änderungen enthalten. Diese werden durch Upstream-Typänderungen verursacht, die in anderen unterstützten Sprachen abwärtskompatibel sind. Diese Typänderungen sind zulässig, da andernfalls die Evolvierbarkeit der Bibliothek stark eingeschränkt würde.

  In der folgenden Liste werden alle bekannten Instanzen beschrieben:
  +  **Golang - Von einem typisierten Slice zu einem beliebigen Slice wechseln:** Eine Liste eines einzelnen Typs wird zu einer Liste mit mehreren Typen (Union-Typen in TypeScript). `Go`In werden diese als Slice von any () eingegeben. `*[]any` Aufgrund der Eingabezuweisungsregeln von Go `` ist der Wechsel von `*[]string ` zu keine automatische Konvertierung. Daher erfordert diese Typerweiterung eine Änderung des Verbrauchercodes. Strategien finden Sie unter [Arbeiten mit einem beliebigen Slice](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-go.html#go-cdk-idioms).

## Stabilität der Sprachbindung
<a name="aws-construct-lib-versioning-binding"></a>

Im Laufe der Zeit könnten wir das AWS CDK um Unterstützung für weitere Programmiersprachen erweitern. Obwohl die in allen Sprachen beschriebene API dieselbe ist, variiert die Art und Weise, wie die API ausgedrückt wird, je nach Sprache und kann sich ändern, wenn sich die Sprachunterstützung weiterentwickelt. Aus diesem Grund gelten Sprachbindungen eine Zeit lang als experimentell, bis sie für den produktiven Einsatz als bereit erachtet werden.


| Sprache | Stabilität | 
| --- | --- | 
|  TypeScript  |  Stabil  | 
|  JavaScript  |  Stabil  | 
|  Python  |  Stabil  | 
|  Java  |  Stabil  | 
|  C\$1/.NET  |  Stabil  | 
|  Go  |  Stabil  | 

# Unterstützte Versionen von Node.js für das AWS CDK
<a name="node-versions"></a>

Das AWS Cloud Development Kit (AWS CDK) ist hinsichtlich seiner Funktionalität von Node.js abhängig. Dazu gehören CDK-Kernkomponenten wie AWS CDK CLI (`aws-cdk-cli`), AWS Construct Library (`aws-cdk-lib`) sowie umfassendere Tools wie JSIIProjen, und. CDK8s Diese Seite dokumentiert die mit dem AWS CDK kompatiblen Laufzeitversionen von Node.js und hilft Ihnen dabei, eine unterstützte Entwicklungsumgebung aufrechtzuerhalten.

Das AWS CDK zielt darauf ab, die Kompatibilität mit aktiv unterstützten Versionen von Node.js Long Term Support (LTS) aufrechtzuerhalten. Sobald die Versionen von Node.js ihre Gültigkeit erreichen end-of-life, stellt das AWS CDK auch die Unterstützung für diese Versionen schrittweise ein, um Sicherheit, Leistung und Zugriff auf die neuesten Funktionen zu gewährleisten.

Wenn Sie für Ihre CDK-Komponenten und Tools die unterstützten Versionen von Node.js verwenden, ist gewährleistet, dass Sie Sicherheitsupdates, Bugfixes und Zugriff auf die neuesten CDK-Funktionen und -Verbesserungen erhalten.

## Zeitplan für die Unterstützung der Version Node.js
<a name="node-version-timeline"></a>

Das AWS CDK unterstützt Versionen von Node.js auch nach ihrem offiziellen Datum End-of-Life (EOL), sodass Sie Zeit haben, Ihre Umgebung zu aktualisieren. Dieser Support erstreckt sich über 6 Monate (wenn beispielsweise die Versionen von Node.js im April das EOL erreichen, läuft der Support bis Oktober). Die nachstehende Tabelle mit dem Zeitplan für die Versionsunterstützung dokumentiert die jeweiligen Enddaten der CDK-Supportunterstützung, sobald sie festgelegt werden. Dieser Ansatz bietet Ihnen ein definiertes Zeitfenster für die Planung und Implementierung von Versionsupgrades, während Sie gleichzeitig Zugriff auf CDK-Funktionen und -Updates haben.


| Node.js-Version | EOL-Datum des Knotens | Status der CDK-Unterstützung | 
| --- | --- | --- | 
|  2.x  |  2027-04-30  |  Support wird bis Oktober 2027 erwartet.  | 
|  20.x  |  2026-04-30  |  Support wird bis Oktober 2026 erwartet.  | 
|  18.x  |  2025-05-30  |  Der Support endet am 30.11.2025.  | 
|  16.x  |  2023-09-11  |  Der Support endet am 30.05.2025.  | 
|  14.x  |  30.04.2023\$1  |  Der Support endet am 30.05.2025.  | 

# AWS CDK-Videoressourcen
<a name="videos"></a>

Genießen Sie diese Videos, die von Mitgliedern des AWS CDK-Teams präsentiert wurden.

**Anmerkung**  
Da sich das AWS CDK ständig weiterentwickelt, funktioniert ein Teil des in diesen Videos vorgestellten Codes möglicherweise nicht mehr so wie zu der Zeit, als das Video aufgenommen wurde. Dies gilt insbesondere für Module, die zu diesem Zeitpunkt aktiv entwickelt wurden. Es ist auch möglich, dass wir inzwischen eine bessere Methode hinzugefügt haben, um dasselbe Ergebnis zu erzielen. Weitere Informationen finden Sie in diesem Entwicklerhandbuch und in der [AWS CDK-API-Referenz.](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html) up-to-date

## Infrastruktur *ist* Code mit dem CDK AWS
<a name="videos-infrastructure-is-code"></a>

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/ZWCvNFUN-sU?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/ZWCvNFUN-sU?rel=0)


## Tauchen Sie tief in das AWS Cloud Development Kit (AWS CDK) ein
<a name="videos-deep-dive"></a>

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/9As_ZIjUGmY?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/9As_ZIjUGmY?rel=0)


## Zur AWS Construct-Bibliothek beitragen
<a name="videos-contributing"></a>

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/LsYlf7ggyrY?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/LsYlf7ggyrY?rel=0)


## Schnellere Bereitstellungen mit CDK Pipelines
<a name="videos-pipelines"></a>

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/1ps0Wh19MHQ?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/1ps0Wh19MHQ?rel=0)


## Wie kann man zum CDK beitragen mit AWS GitPod
<a name="videos-gitpod"></a>

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/u6XcIgs-Nok?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/u6XcIgs-Nok?rel=0)
