Tutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern - EC2Image Builder

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.

Tutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern

Sie können Image Builder-Komponenten, einschließlich der Erstellung und Einstellung von Komponentenparametern, direkt über die EC2 Image Builder Builder-Konsole AWS CLI, über oder über Image Builder API oder verwaltenSDKs. In diesem Abschnitt behandeln wir das Erstellen und Verwenden von Parametern in Ihrer Komponente und das Einstellen von Komponentenparametern über die Image Builder Builder-Konsole und AWS CLI Befehle zur Laufzeit.

Wichtig

Bei Komponentenparametern handelt es sich um reine Textwerte, die angemeldet sind AWS CloudTrail. Wir empfehlen, dass Sie AWS Secrets Manager oder den AWS Systems Manager Parameter Store verwenden, um Ihre Geheimnisse zu speichern. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? im AWS Secrets Manager Benutzerhandbuch. Weitere Informationen zum AWS Systems Manager Parameterspeicher finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerhandbuch.

Verwenden Sie Parameter in Ihrem YAML Komponentendokument

Um eine Komponente zu erstellen, müssen Sie ein YAML Dokument für die JSON Anwendungskomponente bereitstellen. Das Dokument enthält den Code, der während der Phasen und Schritte ausgeführt wird, die Sie definieren, um Anpassungen für Ihr Image vorzunehmen. Das Rezept, das auf die Komponente verweist, kann die Parameter so einstellen, dass die Werte zur Laufzeit angepasst werden. Standardwerte werden wirksam, wenn der Parameter nicht auf einen bestimmten Wert festgelegt ist.

Erstellen Sie ein Komponentendokument mit Eingabeparametern

In diesem Abschnitt erfahren Sie, wie Sie Eingabeparameter in Ihrem YAML Komponentendokument definieren und verwenden.

Um ein YAML Anwendungskomponentendokument zu erstellen, das Parameter verwendet und Befehle in Ihren Image Builder Builder-Build- oder Testinstanzen ausführt, folgen Sie den Schritten, die Ihrem Image-Betriebssystem entsprechen:

Linux
Erstellen Sie ein YAML Komponentendokument

Verwenden Sie ein Dateibearbeitungstool, um eine Komponentendokumentdatei zu erstellen. In Dokumentationsbeispielen wird eine Datei mit dem Namen verwendethello-world-test.yaml, die den folgenden Inhalt enthält:

# Document Start # name: "HelloWorldTestingDocument-Linux" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
Tipp

Verwenden Sie ein Tool wie diesen YAMLOnline-Validator oder eine YAML Lint-Erweiterung in Ihrer Codeumgebung, um zu überprüfen, ob Ihre Datei korrekt formatiert YAML ist.

Windows
Erstellen Sie ein Komponentendokument YAML

Verwenden Sie ein Dateibearbeitungstool, um eine Komponentendokumentdatei zu erstellen. In Dokumentationsbeispielen wird eine Datei mit dem Namen verwendethello-world-test.yaml, die den folgenden Inhalt enthält:

# Document Start # name: "HelloWorldTestingDocument-Windows" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
Tipp

Verwenden Sie ein Tool wie diesen YAMLOnline-Validator oder eine YAML Lint-Erweiterung in Ihrer Codeumgebung, um zu überprüfen, ob Ihre Datei korrekt formatiert YAML ist.

Weitere Informationen zu den Phasen, Schritten und der Syntax von Dokumenten mit AWSTOE Anwendungskomponenten finden Sie unter Dokumente verwenden in. AWSTOE Weitere Informationen zu Parametern und ihren Anforderungen finden Sie auf Parameter der AWSTOE Seite Variablen definieren und referenzieren.

Erstellen Sie eine Komponente aus dem YAML Komponentendokument

Unabhängig davon, mit welcher Methode Sie eine AWSTOE Komponente erstellen, ist das Dokument mit der YAML Anwendungskomponente immer als Grundlage erforderlich.

Legen Sie Komponentenparameter in einem Image Builder Builder-Rezept von der Konsole aus fest

Das Einstellen von Komponentenparametern funktioniert für Bildrezepte und Container-Rezepte auf dieselbe Weise. Wenn Sie ein neues Rezept oder eine neue Version eines Rezepts erstellen, wählen Sie aus den Listen Komponenten erstellen und Testkomponenten aus, welche Komponenten aufgenommen werden sollen. Die Komponentenlisten enthalten Komponenten, die für das Basisbetriebssystem gelten, das Sie für Ihr Image ausgewählt haben.

Nachdem Sie eine Komponente ausgewählt haben, wird sie im Abschnitt Ausgewählte Komponenten direkt unter den Komponentenlisten angezeigt. Die Konfigurationsoptionen werden für jede ausgewählte Komponente angezeigt. Wenn für Ihre Komponente Eingabeparameter definiert sind, werden diese als erweiterbarer Abschnitt mit der Bezeichnung Eingabeparameter angezeigt.

Die folgenden Parametereinstellungen werden für jeden Parameter angezeigt, der für Ihre Komponente definiert ist:

  • Parametername (nicht editierbar) — Der Name des Parameters.

  • Beschreibung (nicht editierbar) — Die Beschreibung des Parameters

  • Typ (nicht editierbar) — Der Datentyp für den Parameterwert.

  • Wert — Der Wert für den Parameter. Wenn Sie diese Komponente zum ersten Mal in diesem Rezept verwenden und ein Standardwert für den Eingabeparameter definiert wurde, wird der Standardwert im Feld Wert mit ausgegrautem Text angezeigt. Wenn kein anderer Wert eingegeben wird, verwendet Image Builder den Standardwert.