Verwenden Sie Variablen in Ihrem Dokument mit benutzerdefinierten Komponenten - EC2 Image 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.

Verwenden Sie Variablen in Ihrem Dokument mit benutzerdefinierten Komponenten

Variablen bieten eine Möglichkeit, Daten mit aussagekräftigen Namen zu versehen, die in der gesamten Anwendung verwendet werden können. Sie können benutzerdefinierte Variablen mit einfachen und lesbaren Formaten für komplexe Workflows definieren und sie im YAML-Anwendungskomponentendokument für eine AWSTOE Komponente referenzieren.

Dieser Abschnitt enthält Informationen, die Ihnen helfen, Variablen für Ihre AWSTOE Komponente im Dokument für die YAML-Anwendungskomponente zu definieren, einschließlich Syntax, Namenseinschränkungen und Beispielen.

Parameter

Parameter sind veränderbare Variablen mit Einstellungen, die die aufrufende Anwendung zur Laufzeit bereitstellen kann. Sie können Parameter im Parameters Abschnitt des YAML-Dokuments definieren.

Regeln für Parameternamen
  • Der Name muss zwischen 3 und 128 Zeichen lang sein.

  • Der Name darf nur alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) oder Unterstriche (_) enthalten.

  • Der Name muss innerhalb des Dokuments eindeutig sein.

  • Der Name muss als YAML-Zeichenfolge angegeben werden.

Syntax

parameters: - <name>: type: <parameter type> default: <parameter value> description: <parameter description>

Tastenname

Erforderlich

Beschreibung

name

Ja

Der Name des Parameters. Muss für das Dokument eindeutig sein (er darf nicht mit anderen Parameternamen oder Konstanten identisch sein).

type

Ja

Der Datentyp des Parameters. Zu den unterstützten Typen gehören:string.

default

Nein

Der Standardwert für den Parameter.

description

Nein

Beschreibt den Parameter.

Referenzparameterwerte in einem Dokument

Sie können Parameter in Step- oder Loop-Eingaben innerhalb Ihres YAML-Dokuments wie folgt referenzieren:

  • Bei Parameterreferenzen wird zwischen Groß- und Kleinschreibung unterschieden, und der Name muss exakt übereinstimmen.

  • Der Name muss in doppelte geschweifte Klammern eingeschlossen werden. {{ MyParameter}}

  • Leerzeichen sind in geschweiften Klammern zulässig und werden automatisch gekürzt. Beispielsweise sind alle der folgenden Verweise gültig:

    {{ MyParameter }}, {{ MyParameter}}, {{MyParameter }}, {{MyParameter}}

  • Der Verweis im YAML-Dokument muss als Zeichenfolge (in einfache oder doppelte Anführungszeichen eingeschlossen) angegeben werden.

    Zum Beispiel: - {{ MyParameter }} ist nicht gültig, da es nicht als Zeichenfolge identifiziert wird.

    Die folgenden Verweise sind jedoch beide gültig: - '{{ MyParameter }}' und- "{{ MyParameter }}".

Beispiele

Die folgenden Beispiele zeigen, wie Sie Parameter in Ihrem YAML-Dokument verwenden können:

  • Beziehen Sie sich auf einen Parameter in den Schritteingaben:

    name: Download AWS CLI version 2 schemaVersion: 1.0 parameters: - Source: type: string default: 'https://awscli.amazonaws.com/AWSCLIV2.msi' description: The AWS CLI installer source URL. phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'
  • Beziehen Sie sich auf einen Parameter in Loop-Eingängen:

    name: PingHosts schemaVersion: 1.0 parameters: - Hosts: type: string default: 127.0.0.1,amazon.com description: A comma separated list of hosts to ping. phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}

Parameter zur Laufzeit überschreiben

Sie können die --parameters Option AWS CLI mit einem Schlüssel-Wert-Paar verwenden, um zur Laufzeit einen Parameterwert festzulegen.

  • <name><value>Geben Sie das Schlüssel-Wert-Paar für den Parameter als Namen und Wert an, getrennt durch ein Gleichheitszeichen (=).

  • Mehrere Parameter müssen durch ein Komma getrennt werden.

  • Parameternamen, die im YAML-Komponentendokument nicht gefunden werden, werden ignoriert.

  • Der Parametername und der Wert sind beide erforderlich.

Wichtig

Bei den 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 zu AWS Systems Manager Parameter Store finden Sie unter AWS Systems Manager Parameter Store im AWS Systems Manager Benutzerhandbuch.

Syntax

--parameters name1=value1,name2=value2...

CLI-Option

Erforderlich

Beschreibung

--parameters Name = Wert,...

Nein

Diese Option verwendet eine Liste von Schlüssel-Wert-Paaren mit dem Parameternamen als Schlüssel.

Beispiele

Die folgenden Beispiele zeigen, wie Sie Parameter in Ihrem YAML-Dokument verwenden können:

  • Das in dieser --parameter Option angegebene Parameter-Schlüssel-Wert-Paar ist nicht gültig:

    --parameters ntp-server=
  • Legen Sie ein Parameter-Schlüssel-Wert-Paar mit der --parameter folgenden Option fest: AWS CLI

    --parameters ntp-server=ntp-server-windows-qe.us-east1.amazon.com
  • Legen Sie mehrere Parameter-Schlüssel-Wert-Paare mit der Option im --parameter Feld fest: AWS CLI

    --parameters ntp-server=ntp-server.amazon.com,http-url=https://internal-us-east1.amazon.com

Konstanten

Konstanten sind unveränderliche Variablen, die nach ihrer Definition nicht geändert oder überschrieben werden können. Konstanten können mithilfe von Werten im Abschnitt eines Dokuments definiert werden. constants AWSTOE

Regeln für Konstantennamen
  • Der Name muss zwischen 3 und 128 Zeichen lang sein.

  • Der Name darf nur alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) oder Unterstriche (_) enthalten.

  • Der Name muss innerhalb des Dokuments eindeutig sein.

  • Der Name muss als YAML-Zeichenfolge angegeben werden.

Syntax

constants: - <name>: type: <constant type> value: <constant value>
Tastenname Erforderlich Beschreibung

name

Ja

Name der Konstante. Muss für das Dokument eindeutig sein (er darf nicht mit anderen Parameternamen oder Konstanten identisch sein).

value

Ja Wert der Konstante.

type

Ja Typ der Konstante. Der unterstützte Typ iststring.
Verweisen Sie auf konstante Werte in einem Dokument

Sie können in Step- oder Loop-Eingaben in Ihrem YAML-Dokument wie folgt auf Konstanten verweisen:

  • Bei konstanten Verweisen wird zwischen Groß- und Kleinschreibung unterschieden, und der Name muss exakt übereinstimmen.

  • Der Name muss in doppelte geschweifte Klammern eingeschlossen werden. {{ MyConstant}}

  • Leerzeichen sind in geschweiften Klammern zulässig und werden automatisch gekürzt. Beispielsweise sind alle der folgenden Verweise gültig:

    {{ MyConstant }}, {{ MyConstant}}, {{MyConstant }}, {{MyConstant}}

  • Der Verweis im YAML-Dokument muss als Zeichenfolge (in einfache oder doppelte Anführungszeichen eingeschlossen) angegeben werden.

    Zum Beispiel: - {{ MyConstant }} ist nicht gültig, da es nicht als Zeichenfolge identifiziert wird.

    Die folgenden Verweise sind jedoch beide gültig: - '{{ MyConstant }}' und- "{{ MyConstant }}".

Beispiele

In Schritteingaben referenzierte Konstante

name: Download AWS CLI version 2 schemaVersion: 1.0 constants: - Source: type: string value: https://awscli.amazonaws.com/AWSCLIV2.msi phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'

In Loop-Eingängen wird auf eine Konstante verwiesen

name: PingHosts schemaVersion: 1.0 constants: - Hosts: type: string value: 127.0.0.1,amazon.com phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}