

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
<a name="tutorial-component-parameters"></a>

Sie können Image Builder Builder-Komponenten, einschließlich der Erstellung und Einstellung von Komponentenparametern, direkt über die EC2 Image Builder Builder-Konsole, über die AWS CLI oder über die Image Builder Builder-API oder verwalten SDKs. 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, 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?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) im *AWS Secrets Manager Benutzerhandbuch*. Weitere Informationen zu AWS Systems Manager Parameter Store finden Sie unter [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) im *AWS Systems Manager Benutzerhandbuch*.

## Verwenden Sie Parameter in Ihrem YAML-Komponentendokument
<a name="component-params-yaml"></a>

Um eine Komponente zu erstellen, müssen Sie ein Dokument mit einer YAML- oder 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 Dokument mit einer YAML-Komponente**  
Verwenden Sie ein Dateibearbeitungstool, um eine Komponentendokumentdatei zu erstellen. In Dokumentationsbeispielen wird eine Datei mit dem Namen verwendet`hello-world-test.yaml`, die 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 [Online-YAML-Validator oder](https://jsonformatter.org/yaml-validator) eine YAML-Lint-Erweiterung in Ihrer Codeumgebung, um zu überprüfen, ob Ihr YAML wohlgeformt ist.

------
#### [ Windows ]

**Erstellen Sie ein YAML-Komponentendokument**  
Verwenden Sie ein Dateibearbeitungstool, um eine Komponentendokumentdatei zu erstellen. In Dokumentationsbeispielen wird eine Datei mit dem Namen verwendet`hello-world-test.yaml`, die 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 [Online-YAML-Validator oder](https://jsonformatter.org/yaml-validator) eine YAML-Lint-Erweiterung in Ihrer Codeumgebung, um zu überprüfen, ob Ihr YAML wohlgeformt ist.

------
#### [ macOS ]

**Erstellen Sie ein YAML-Komponentendokument**  
Verwenden Sie ein Dateibearbeitungstool, um eine Komponentendokumentdatei zu erstellen. In Dokumentationsbeispielen wird eine Datei mit dem Namen verwendet`hello-world-test.yaml`, die folgenden Inhalt enthält:

```
# Document Start
# 
name: "HelloWorldTestingDocument-macOS"
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 [Online-YAML-Validator oder](https://jsonformatter.org/yaml-validator) eine YAML-Lint-Erweiterung in Ihrer Codeumgebung, um zu überprüfen, ob Ihr YAML wohlgeformt ist.

------

[Weitere Informationen zu den Phasen, Schritten und der Syntax von Dokumenten mit AWSTOE Anwendungskomponenten finden Sie unter Dokumente verwenden in. AWSTOE](https://docs.aws.amazon.com/imagebuilder/latest/userguide/toe-use-documents.html) Weitere Informationen zu Parametern und ihren Anforderungen finden Sie auf [Parameters](toe-user-defined-variables.md#user-defined-vars-parameters) 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.
+ Informationen zum Erstellen einer Komponente direkt aus Ihrem YAML-Dokument mit der Image Builder Builder-Konsole finden Sie unter[Erstellen Sie eine benutzerdefinierte Komponente von der Konsole aus](create-component.md#create-component-ib-console).
+ Informationen zum Erstellen einer Komponente über die Befehlszeile mit dem Image Builder **create-component** Builder-Befehl finden Sie unter[Erstellen Sie eine benutzerdefinierte Komponente aus dem AWS CLI](create-component.md#create-component-ib-cli). Ersetzen Sie den YAML-Dokumentnamen in diesen Beispielen durch den Namen Ihres Hello World YAML-Dokuments ()`hello-world-test.yaml`.

## Legen Sie Komponentenparameter in einem Image Builder Builder-Rezept von der Konsole aus fest
<a name="recipe-set-component-params"></a>

Das Einstellen von Komponentenparametern funktioniert für Image-Rezepte 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.