Eingabe konfigurieren für AWSTOE Befehl ausführen - 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.

Eingabe konfigurieren für AWSTOE Befehl ausführen

Um die Befehlszeileneingabe für Ihr AWSTOE runMit diesem Befehl können Sie Einstellungen für Befehlsparameter und Optionen in eine JSON Formateingabekonfigurationsdatei mit einer .json Dateierweiterung aufnehmen. AWSTOE kann Ihre Datei von einem der folgenden Orte aus lesen:

  • Ein lokaler Dateipfad (./config.json).

  • Ein S3-Bucket (s3://<bucket-path>/<bucket-name>/config.json).

Wenn Sie den run Befehl eingeben, können Sie die Eingabekonfigurationsdatei mithilfe des --config Parameters angeben. Beispielsweise:

awstoe run --config <file-path>/config.json
Eingabe-Konfigurationsdatei

Die JSON Eingabekonfigurationsdatei enthält Schlüssel-Wert-Paare für alle Einstellungen, die Sie direkt über run Befehlsparameter und Optionen angeben können. Wenn Sie eine Einstellung sowohl in der Eingabekonfigurationsdatei als auch im run Befehl als Parameter oder Option angeben, gelten die folgenden Prioritätsregeln:

Regeln der Rangfolge
  1. Eine Einstellung, die direkt an den run Befehl in der AWS CLIüberschreibt über einen Parameter oder eine Option jeden Wert, der in der Eingabekonfigurationsdatei für dieselbe Einstellung definiert ist.

  2. Eine Einstellung in der Eingabekonfigurationsdatei überschreibt den Standardwert einer Komponente.

  3. Wenn keine anderen Einstellungen an das Komponentendokument übergeben werden, kann es einen Standardwert anwenden, sofern einer existiert.

Es gibt zwei Ausnahmen von dieser Regel: Dokumente und Parameter. Diese Einstellungen funktionieren in der Eingabekonfiguration und als Befehlsparameter unterschiedlich. Wenn Sie die Eingabekonfigurationsdatei verwenden, dürfen Sie diese Parameter nicht direkt für den run Befehl angeben. Andernfalls wird ein Fehler generiert.

Einstellungen der Komponenten

Die Eingabekonfigurationsdatei enthält die folgenden Einstellungen. Um Ihre Datei zu optimieren, können Sie alle optionalen Einstellungen weglassen, die nicht benötigt werden. Alle Einstellungen sind optional, sofern nicht anders angegeben.

  • cwIgnoreFailures(Boolean) — Ignoriert Protokollfehler in den CloudWatch Protokollen.

  • cwLogGroup(String) — Der LogGroup Name für die CloudWatch Protokolle.

  • cwLogRegion(Zeichenfolge) — Der AWS Region, die für die CloudWatch Protokolle gilt.

  • cwLogStream(Zeichenfolge) — Der LogStream Name für die CloudWatch Logs, der weiterleitet AWSTOE wo die console.log Datei gestreamt werden soll.

  • documentS3 BucketOwner (String) — Die Konto-ID des Bucket-Besitzers für URI S3-basierte Dokumente.

  • documents (Array von Objekten, erforderlich) — Ein Array von JSON Objekten, das die YAML Komponentendokumente darstellt, die AWSTOE runBefehl wird ausgeführt. Es muss mindestens ein Komponentendokument angegeben werden.

    Jedes Objekt besteht aus den folgenden Feldern:

    • path (String, erforderlich) — Der Dateispeicherort des YAML Komponentendokuments. Dies muss einer der folgenden sein:

      • Ein lokaler Dateipfad (./component-doc-example.yaml).

      • Ein S3 URI (s3://bucket/key).

      • Eine Build-Version der Image Builder-Komponente ARN (arn:aws:imagebuilder:us-west-2:123456789012w/my-example-component/2021.12.02/1).

    • parameters (Array von Objekten) — Ein Array von Objekten mit Schlüssel-Wert-Paaren, von denen jedes einen komponentenspezifischen Parameter darstellt, den der Befehl bei der Ausführung des run Komponentendokuments übergibt. Parameter sind für Komponenten optional. Für das Komponentendokument können Parameter definiert sein oder nicht.

      Jedes Objekt besteht aus den folgenden Feldern:

      • name (Zeichenfolge, erforderlich) — Der Name des Komponentenparameters.

      • value (String, erforderlich) — Der Wert, der für den benannten Parameter an das Komponentendokument übergeben werden soll.

      Weitere Informationen zu Komponentenparametern finden Sie im Abschnitt Parameter Verwenden Sie Variablen in Ihrem Dokument mit benutzerdefinierten Komponenten auf der Seite.

  • executonId(Zeichenfolge) — Dies ist die eindeutige ID, die für die Ausführung des aktuellen run Befehls gilt. Diese ID ist in den Namen der Ausgabe- und Protokolldateien enthalten, um diese Dateien eindeutig zu identifizieren und sie mit der aktuellen Befehlsausführung zu verknüpfen. Wenn diese Einstellung weggelassen wird, AWSTOE generiert eineGUID.

  • logDirectory(String) — Das Zielverzeichnis, in dem AWSTOE speichert alle Protokolldateien dieser Befehlsausführung. Standardmäßig befindet sich dieses Verzeichnis innerhalb des folgenden übergeordneten Verzeichnisses:TOE_<DATETIME>_<EXECUTIONID>. Wenn Sie das Protokollverzeichnis nicht angeben, AWSTOE verwendet das aktuelle Arbeitsverzeichnis (.).

  • logS3 BucketName (String) — Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), AWSTOE lädt die Anwendungsprotokolle der Komponenten in den in diesem Parameter genannten S3-Bucket hoch.

  • logS3 BucketOwner (String) — Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), ist dies die Besitzerkonto-ID für den Bucket, in dem AWSTOE schreibt die Protokolldateien.

  • logS3 KeyPrefix (String) — Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), ist dies das S3-Objektschlüsselpräfix für den Protokollspeicherort im Bucket.

  • parameters (Array von Objekten) — Ein Array von Objekten mit Schlüssel-Wert-Paaren, die Parameter darstellen, die global für alle Komponenten gelten, die in der aktuellen run Befehlsausführung enthalten sind.

    • name (String, erforderlich) — Der Name des globalen Parameters.

    • value (String, erforderlich) — Der Wert, der an alle Komponentendokumente für den benannten Parameter übergeben werden soll.

  • phases (String) — Eine durch Kommas getrennte Liste, die angibt, welche Phasen von den YAML Komponentendokumenten aus ausgeführt werden sollen. Wenn ein Komponentendokument zusätzliche Phasen enthält, werden diese nicht ausgeführt.

  • stateDirectory(Zeichenfolge) — Der Dateipfad, in dem Statusverfolgungsdateien gespeichert werden.

  • trace (Boolean) — Aktiviert die ausführliche Protokollierung in der Konsole.

Beispiele

Das folgende Beispiel zeigt eine Eingabekonfigurationsdatei, die die test Phasen build und für zwei Komponentendokumente ausführt:sampledoc.yaml, und. conversation-intro.yaml Jedes Komponentendokument hat einen Parameter, der nur für sich selbst gilt, und beide verwenden einen gemeinsamen Parameter. Der project Parameter gilt für beide Komponentendokumente.

{ "documents": [ { "path": "<file path>/awstoe/sampledoc.yaml>", "parameters": [ { "name": "dayofweek", "value": "Monday" } ] }, { "path": "<file path>/awstoe/conversation-intro.yaml>", "parameters": [ { "name": "greeting", "value": "Hello, HAL." } ] } ], "phases": "build,test", "parameters": [ { "name": "project", "value": "examples" } ], "cwLogGroup": "<log_group_name>", "cwLogStream": "<log_stream_name>", "documentS3BucketOwner": "<owner_aws_account_number>", "executionId": "<id_number>", "logDirectory": "<local_directory_path>", "logS3BucketName": "<bucket_name_for_log_files>", "logS3KeyPrefix": "<key_prefix_for_log_files>", "logS3BucketOwner": "<owner_aws_account_number>" }