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.
Mixins
Mixins sind wiederverwendbare Funktionen, die Sie mithilfe der .with() Methode auf Konstrukte anwenden. Sie fügen Funktionen sowohl zu L1- (CloudFormation-Ebene) als auch zu L2-Konstrukten (absichtsbasiert) hinzu, z. B. Versionierung, automatisches Löschen von Objekten oder Blockieren des öffentlichen Zugriffs. Jedes Mixin funktioniert auf einer einzigen Ressource. Verwenden Sie stattdessen Facades, um zwei Ressourcen zu verbinden.
Jedes Mixin zielt auf einen bestimmten Ressourcentyp ab und ist nach dieser Ressource benannt. BucketVersioningZielt beispielsweise auf Amazon S3 S3-Buckets ab. Sie greifen über den mixins Namespace der einzelnen Servicemodule auf Mixins zu, z. s3.mixins
Mixins anwenden
Sie wenden Mixins mit der .with() Methode an, die für alle Konstrukte verfügbar ist. Sie können mehrere Mixins miteinander verketten:
Beispiel
Jedes Mixin deklariert, welche Ressourcentypen es unterstützt. Wenn Sie ein Mixin auf ein Konstrukt anwenden, das es nicht unterstützt, wird es stillschweigend übersprungen. Das bedeutet, dass Sie Mixins sicher und breit anwenden können, ohne sich Gedanken über Typinkongruenzen machen zu müssen. Wenn Sie sicherstellen müssen, dass ein Mixin angewendet wird, verwenden Sie oder. requireAll()requireAny()
Verwenden Sie Mixins mit L1- und L2-Konstrukten
Mixins funktionieren sowohl mit L1- als auch mit L2-Konstrukten. Wenn Sie ein Mixin auf ein L2-Konstrukt anwenden, gilt es auch für die dahinter stehende L1-Ressource.
Das folgende Beispiel zeigt, wie Mixins sowohl auf L1- als auch auf L2-Konstrukte angewendet werden:
Beispiel
Mixins im Vergleich zu Konstrukteigenschaften
Mixins und Konstrukteigenschaften arbeiten zusammen. L2-Konstrukteigenschaften richten eine Ressource ein, wenn Sie sie erstellen. Mixins können jederzeit angewendet werden.
- Verwenden Sie L2-Konstrukteigenschaften, wenn
-
Sie verwenden ein L2-Konstrukt und die benötigte Eigenschaft ist verfügbar. Dies ist der einfachste Ansatz.
- Verwenden Sie Mixins, wenn
-
-
Sie arbeiten mit einem L1-Konstrukt und benötigen L2-ähnliche Funktionen.
-
Sie möchten einem L2-Konstrukt ein Feature hinzufügen, das nicht als Eigenschaft verfügbar ist.
-
Sie möchten dasselbe Feature auf mehrere Konstrukte unterschiedlichen Typs anwenden.
-
Mixins ersetzen keine Konstrukteigenschaften. Sie können eine erforderliche Eigenschaft nicht optional machen oder Standardwerte ändern.
Wenden Sie Mixins auf mehrere Konstrukte an
Die Mixins.of() API bietet mehr Kontrolle darüber, wie Mixins in einem bestimmten Bereich angewendet werden. Anstatt einzelne Konstrukte aufzurufen, können Sie ein Mixin .with() auf alle passenden Konstrukte in einem Stack oder Bereich gleichzeitig anwenden:
Beispiel
Standardmäßig werden Konstrukte, die das Mixin nicht unterstützen, stillschweigend übersprungen. Wird verwendet, requireAll() um zu bestätigen, dass das Mixin auf jedes Konstrukt in der Auswahl angewendet wird, oder requireAny() um zu bestätigen, dass es auf mindestens eines angewendet wird. Dies ist nützlich, um zu erzwingen, dass Ressourcen eine erforderliche Konfiguration haben:
Beispiel
Mixins und Aspekte
Mixins und Aspects sind verwandt, dienen aber unterschiedlichen Zwecken:
-
Mixins werden sofort angewendet, wenn Sie anrufen.
.with()Sie wählen genau aus, auf welche Konstrukte sie angewendet werden sollen. -
Aspekte gelten während der Synthese für alle Konstrukte in einem Bereich. Verwenden Sie sie für allgemeine Richtlinien und Kontrollen.
Verwenden Sie Mixins, um bestimmten Konstrukten ein Feature hinzuzufügen. Verwenden Sie Aspects, um Regeln durchzusetzen oder Änderungen auf Ihre gesamte Anwendung anzuwenden.
Zugehörige Ressourcen
-
Fassaden — Connect Ressourcen mit IAM-Prinzipalen und anderen Diensten.
-
Aspekte — Wenden Sie Änderungen an oder validieren Sie Konstrukte in Ihrer gesamten Anwendung.
-
Konstrukte — Erfahren Sie mehr über L1-, L2- und L3-Konstrukte.
-
Gebäudemodule anpassen — Passen Sie Konstrukte mit Notschraffuren und unverarbeiteten Überschreibungen individuell an.