

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.

# Erstellen Sie ein YAML-Workflow-Dokument
<a name="image-workflow-create-document"></a>

Das Dokument mit der Definition des YAML-Formats konfiguriert Eingabe-, Ausgabe- und Workflow-Schritte für die Erstellungs- und Testphasen des Image-Erstellungsprozesses. Sie können mit Vorlagen beginnen, die standardisierte Schritte enthalten, oder Sie können ganz von vorne beginnen, um Ihren eigenen Workflow zu definieren. Unabhängig davon, ob Sie eine Vorlage verwenden oder ganz von vorne beginnen, können Sie den Workflow an Ihre Bedürfnisse anpassen.

## Struktur eines YAML-Workflow-Dokuments
<a name="workflow-document-structure"></a>

Das YAML-Workflow-Dokument, das Image Builder verwendet, um Image-Build- und Testaktionen durchzuführen, ist wie folgt strukturiert.
+ [Identifizierung von Workflow-Dokumenten](#wfdoc-struct-ident)
+ [Eingabeparameter für Workflow-Dokumente](#wfdoc-struct-param)
+ [Schritte des Workflow-Dokuments](#wfdoc-struct-step)
+ [Ausgaben von Workflow-Dokumenten](#wfdoc-struct-output)

### Identifizierung von Workflow-Dokumenten
<a name="wfdoc-struct-ident"></a>

Identifiziert den Workflow eindeutig. Dieser Abschnitt kann die folgenden Attribute enthalten.


|  Feld  |  Description  |  Typ  |  Erforderlich  | 
| --- | --- | --- | --- | 
|  Name  |  Der Name des Workflow-Dokuments.  |  Zeichenfolge  |  Nein  | 
|  description  |  Die Beschreibung des Dokuments.  |  Zeichenfolge  |  Nein  | 
|  schemaVersion  |  Die Version des Dokumentschemas, derzeit 1.0.  |  Zeichenfolge  |  Ja  | 

**Beispiel**

```
---
name: sample-test-image
description: Workflow for a sample image, with extra configuration options exposed through workflow parameters.
schemaVersion: 1.0
```

### Eingabeparameter für Workflow-Dokumente
<a name="wfdoc-struct-param"></a>

In diesem Teil des Workflow-Dokuments werden Eingabeparameter definiert, die der Aufrufer angeben kann. Wenn Sie keine Parameter haben, können Sie diesen Abschnitt weglassen. Wenn Sie Parameter angeben, kann jeder Parameter die folgenden Attribute enthalten.


|  Feld  |  Description  |  Typ  |  Erforderlich  |  Beschränkungen  | 
| --- | --- | --- | --- | --- | 
|  Name  |  Der Name des Parameters.  |  Zeichenfolge  |  Ja  |    | 
|  description  |  Die Beschreibung des Parameters.  |  Zeichenfolge  |  Nein  |    | 
|  default  |  Der Standardwert des Parameters, wenn kein Wert angegeben wird. Wenn Sie keinen Standardwert in die Parameterdefinition aufnehmen, ist der Parameterwert zur Laufzeit erforderlich.  |  Entspricht dem Parameter-Datentyp.  |  Nein  |    | 
|  type  |  Der Datentyp des Parameters. Wenn Sie den Datentyp nicht in die Parameterdefinition aufnehmen, verwendet der Parametertyp standardmäßig einen zur Laufzeit erforderlichen Zeichenkettenwert.  |  Zeichenfolge  |  Ja  |  Der Datentyp des Parameters muss einer der folgenden sein: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/imagebuilder/latest/userguide/image-workflow-create-document.html)  | 

**Beispiel**

Geben Sie den Parameter im Workflow-Dokument an.

```
parameters:
  - name: waitForActionAtEnd
    type: boolean
    default: true
    description: "Wait for an external action at the end of the workflow"
```

Verwenden Sie den Parameterwert im Workflow-Dokument.

```
$.parameters.waitForActionAtEnd
```

### Schritte des Workflow-Dokuments
<a name="wfdoc-struct-step"></a>

Gibt bis zu 15 Schrittaktionen für den Workflow an. Die Schritte werden in der Reihenfolge ausgeführt, in der sie im Workflow-Dokument definiert sind. Im Falle eines Fehlers wird ein Rollback in umgekehrter Reihenfolge ausgeführt, wobei mit dem fehlgeschlagenen Schritt begonnen und die vorherigen Schritte rückwärts durchgearbeitet werden.

Jeder Schritt kann sich auf die Ausgabe aller Aktionen eines vorherigen Schritts beziehen. Dies wird als *Verkettung oder Referenzierung* bezeichnet. Um auf die Ausgabe einer Aktion aus einem vorherigen Schritt zu verweisen, können Sie einen JSONPath Selektor verwenden. Beispiel:

```
$.stepOutputs.step-name.output-name
```

Weitere Informationen finden Sie unter [Verwenden Sie dynamische Variablen in Ihrem Workflow-Dokument](wfdoc-dynamic-vars.md).

**Anmerkung**  
Auch wenn der Schritt selbst kein Ausgabeattribut hat, ist jede Ausgabe einer Schrittaktion in `stepOutput` für den Schritt enthalten.

Jeder Schritt kann die folgenden Attribute enthalten.


|  Feld  |  Description  |  Typ  |  Erforderlich  |  Standardwert  |  Beschränkungen  | 
| --- | --- | --- | --- | --- | --- | 
|  action  |  Die Workflow-Aktion, die durch diesen Schritt ausgeführt wird.  |  Zeichenfolge  |  Ja  |    |  Muss eine unterstützte Schrittaktion für Image Builder Builder-Workflow-Dokumente sein.  | 
|  `if`, gefolgt von einer Reihe von bedingten Anweisungen, die den `if` Operator ändern.  |  Bedingte Anweisungen erweitern den Hauptteil Ihrer Workflow-Schritte um Entscheidungspunkte für den Kontrollfluss.  |  Diktieren  |  Nein  |    |  Image Builder unterstützt die folgenden bedingten Anweisungen als Modifikatoren für den `if` Operator: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/imagebuilder/latest/userguide/image-workflow-create-document.html)  | 
|  description  |  Die Beschreibung des Schritts.  |  Zeichenfolge  |  Nein  |    |  Leere Zeichenketten sind nicht zulässig. Falls angegeben, muss die Länge 1—1024 Zeichen betragen.  | 
|  inputs  |  Enthält Parameter, die die Schrittaktion zur Ausführung benötigt. Sie können Schlüsselwerte als statische Werte oder mit einer JSONPath Variablen angeben, die in den richtigen Datentyp aufgelöst wird.  |  Diktieren  |  Ja  |    |    | 
|  Name  |  Der Name des Schritts. Dieser Name muss innerhalb des Workflow-Dokuments eindeutig sein.  |  Zeichenfolge  |  Ja  |    |  Die Länge muss zwischen 3 und 128 Zeichen liegen. Kann alphanumerische Zeichen und enthalten. `_` Keine Leerzeichen.  | 
|  onFailure  |  Konfiguriert die Aktion, die ausgeführt werden soll, wenn der Schritt fehlschlägt, wie folgt. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/imagebuilder/latest/userguide/image-workflow-create-document.html)  |  Zeichenfolge  |  Nein  |  `Abort`  |  `Abort` \$1 `Continue`  | 
|  Rollback aktiviert  |  Konfiguriert, ob der Schritt zurückgesetzt wird, falls ein Fehler auftritt. Sie können einen statischen booleschen Wert oder eine dynamische JSONPath Variable verwenden, die in einen booleschen Wert aufgelöst wird.  |  Boolesch  |  Nein  |  `true`  |  `true` \$1 `false` \$1 oder eine JSONPath Variable, die als wahr oder falsch aufgelöst wird.  | 
|  timeoutSeconds  |  Die maximale Zeit in Sekunden, für die der Schritt ausgeführt wird, bevor er fehlschlägt und erneut versucht wird, falls Wiederholungen zutreffen.  |  Ganzzahl  |  Nein  |  Hängt gegebenenfalls von der Standardeinstellung ab, die für die Schrittaktion definiert wurde.  |  Das maximale Timeout für die Schrittaktion darf nicht überschritten werden  | 
|  Warten Sie Sekunden  |  Die Zeit in Sekunden, für die die Ausführung des Schritts unterbrochen wird.  |  Ganzzahl  |  Nein  |  0  |  Darf nicht mehr als timeoutSeconds der Schrittaktion sein.  | 

**Beispiel**

```
steps:
  - name: LaunchTestInstance
    action: LaunchInstance
    onFailure: Abort
    inputs:
      waitFor: "ssmAgent"

  - name: ApplyTestComponents
    action: ExecuteComponents
    onFailure: Abort
    inputs:
      instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"

  - name: TerminateTestInstance
    action: TerminateInstance
    onFailure: Continue
    inputs:
      instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"

  - name: WaitForActionAtEnd
    action: WaitForAction
    if:
      booleanEquals: true
      value: "$.parameters.waitForActionAtEnd"
```

### Ausgaben von Workflow-Dokumenten
<a name="wfdoc-struct-output"></a>

Definiert Ausgaben für den Workflow. Jede Ausgabe ist ein Schlüssel-Wert-Paar, das den Namen der Ausgabe und den Wert angibt. Sie können Ausgaben verwenden, um zur Laufzeit Daten zu exportieren, die nachfolgende Workflows verwenden können. Dieser Abschnitt ist optional.

Jede Ausgabe, die Sie definieren, enthält die folgenden Attribute.


|  Feld  |  Description  |  Typ  |  Erforderlich  | 
| --- | --- | --- | --- | 
|  Name  |  Der Name der Ausgabe. Der Name muss für alle Workflows, die Sie in Ihre Pipeline aufnehmen, eindeutig sein.  |  Zeichenfolge  |  Ja  | 
|  value  |  Der Wert für die Ausgabe. Der Wert der Zeichenfolge kann eine dynamische Variable sein, z. B. eine Ausgabedatei aus einer Schrittaktion. Weitere Informationen finden Sie unter [Verwenden Sie dynamische Variablen in Ihrem Workflow-Dokument](wfdoc-dynamic-vars.md).  |  Zeichenfolge  |  Ja  | 

**Beispiel**

Erstellen Sie eine Ausgabebild-ID für das Workflow-Dokument mit der Schrittausgabe aus dem `createProdImage` Schritt.

```
outputs:
  - name: 'outputImageId'
    value: '$.stepOutputs.createProdImage.imageId'
```

Sehen Sie sich die Workflow-Ausgabe im nächsten Workflow an.

```
$.workflowOutputs.outputImageId
```