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 Builder-Komponenten, einschließlich der Erstellung und Einstellung von Komponentenparametern, direkt über die EC2 Image Builder Builder-Konsole verwalten, über AWS CLI, oder aus dem Image Builder API oderSDKs. 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

Komponentenparameter sind reine Textwerte und werden angemeldet AWS CloudTrail Wir empfehlen Ihnen, zu verwenden. AWS Secrets Manager oder der AWS Systems Manager Parameter Store zum Speichern Ihrer Geheimnisse. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? in der AWS Secrets Manager Benutzerleitfaden. Weitere Informationen zur AWS Systems Manager Parameter speichern, siehe AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerleitfaden.

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 zur Anpassung Ihres Images definieren. 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 AWSTOE Dokumente zu Anwendungskomponenten finden Sie unter Dokumente verwenden in AWSTOE. Weitere Informationen zu Parametern und ihren Anforderungen finden Sie im Parameter Abschnitt Variablen definieren und referenzieren unter AWSTOESeite.

Erstellen Sie eine Komponente aus dem YAML Komponentendokument

Welche Methode Sie auch verwenden, um eine zu erstellen AWSTOE Komponente, das Dokument mit der YAML Anwendungskomponente ist 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.