Configurer l'entrée pour la commande d' AWSTOE exécution - EC2Image Builder

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer l'entrée pour la commande d' AWSTOE exécution

Pour rationaliser la saisie de votre commande sur la ligne de AWSTOE run commande, vous pouvez inclure les paramètres et options de commande dans un fichier de configuration d'entrée JSON au format avec une extension de .json fichier. AWSTOE peut lire votre fichier depuis l'un des emplacements suivants :

  • Un chemin de fichier local (./config.json).

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

Lorsque vous entrez la run commande, vous pouvez spécifier le fichier de configuration d'entrée à l'aide du --config paramètre. Par exemple :

awstoe run --config <file-path>/config.json
Fichier de configuration d'entrée

Le JSON fichier de configuration d'entrée inclut des paires clé-valeur pour tous les paramètres que vous pouvez fournir directement via les paramètres et options de run commande. Si vous spécifiez un paramètre à la fois dans le fichier de configuration d'entrée et dans la run commande, en tant que paramètre ou option, les règles de priorité suivantes s'appliquent :

Règles de priorité
  1. Un paramètre fourni directement à la run commande dans le AWS CLI, via un paramètre ou une option, remplace toute valeur définie dans le fichier de configuration d'entrée pour le même paramètre.

  2. Un paramètre du fichier de configuration d'entrée remplace la valeur par défaut d'un composant.

  3. Si aucun autre paramètre n'est transmis au document du composant, celui-ci peut appliquer une valeur par défaut, s'il en existe une.

Il existe deux exceptions à cette règle : les documents et les paramètres. Ces paramètres fonctionnent différemment dans la configuration d'entrée et en tant que paramètres de commande. Si vous utilisez le fichier de configuration d'entrée, vous ne devez pas spécifier ces paramètres directement dans la run commande. Cela générera une erreur.

Réglages des composants

Le fichier de configuration d'entrée contient les paramètres suivants. Pour rationaliser votre fichier, vous pouvez omettre les paramètres facultatifs inutiles. Tous les paramètres sont facultatifs, sauf indication contraire.

  • cwIgnoreFailures(Boolean) — Ignorez les échecs de journalisation dans les CloudWatch journaux.

  • cwLogGroup(String) — Le LogGroup nom des CloudWatch journaux.

  • cwLogRegion(String) — AWS Région qui s'applique aux CloudWatch journaux.

  • cwLogStream(String) — Le LogStream nom des CloudWatch journaux, qui indique AWSTOE où diffuser le console.log fichier.

  • DocumentS3 BucketOwner (String) : ID de compte du propriétaire du compartiment pour les documents URI basés sur S3.

  • documents (tableau d'objets, obligatoire) : tableau d'JSONobjets représentant les documents du YAML composant exécutés par la AWSTOE run commande. Au moins un document composant doit être spécifié.

    Chaque objet comprend les champs suivants :

    • path (String, obligatoire) — Emplacement du fichier du document du YAML composant. Il doit s'agir de l'une des options suivantes :

      • Un chemin de fichier local (./component-doc-example.yaml).

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

      • Version de compilation d'un composant Image Builder ARN (arn:aws:imagebuilder:us-west-2:123456789012:composant/my-example-component/2021.12.02/1).

    • paramètres (tableau d'objets) — Tableau d'objets d'une paire clé-valeur, chacun représentant un paramètre spécifique au composant que la run commande transmet lorsqu'elle exécute le document du composant. Les paramètres sont facultatifs pour les composants. Le document du composant peut avoir des paramètres définis ou non.

      Chaque objet comprend les champs suivants :

      • name (String, obligatoire) — Nom du paramètre du composant.

      • value (String, obligatoire) — La valeur à transmettre au document du composant pour le paramètre nommé.

      Pour en savoir plus sur les paramètres des composants, consultez la section Paramètres de la Utiliser des variables dans votre document de composant personnalisé page.

  • executonId(Chaîne) — Il s'agit de l'identifiant unique qui s'applique à l'exécution de la run commande en cours. Cet identifiant est inclus dans les noms des fichiers de sortie et des fichiers journaux, afin d'identifier ces fichiers de manière unique et de les lier à l'exécution de la commande en cours. Si ce paramètre est omis, AWSTOE génère unGUID.

  • logDirectory(String) — Le répertoire de destination où sont AWSTOE stockés tous les fichiers journaux de l'exécution de cette commande. Par défaut, ce répertoire se trouve dans le répertoire parent suivant :TOE_<DATETIME>_<EXECUTIONID>. Si vous ne spécifiez pas le répertoire du journal, AWSTOE utilise le répertoire de travail actuel (.).

  • LogS3 BucketName (chaîne) : si les journaux des composants sont stockés dans Amazon S3 (recommandé), AWSTOE télécharge les journaux des applications des composants dans le compartiment S3 nommé dans ce paramètre.

  • LogS3 BucketOwner (chaîne) — Si les journaux des composants sont stockés dans Amazon S3 (recommandé), il s'agit de l'ID de compte propriétaire du compartiment dans lequel AWSTOE les fichiers journaux sont écrits.

  • LogS3 KeyPrefix (chaîne) — Si les journaux des composants sont stockés dans Amazon S3 (recommandé), il s'agit du préfixe de clé d'objet S3 pour l'emplacement du journal dans le compartiment.

  • paramètres (tableau d'objets) — Tableau d'objets d'une paire clé-valeur qui représente des paramètres qui s'appliquent globalement à tous les composants inclus dans l'exécution de la run commande en cours.

    • name (String, obligatoire) — Le nom du paramètre global.

    • value (String, obligatoire) — La valeur à transmettre à tous les documents du composant pour le paramètre nommé.

  • phases (String) — Liste séparée par des virgules qui spécifie les phases à exécuter à partir des documents des YAML composants. Si le document d'un composant inclut des phases supplémentaires, celles-ci ne seront pas exécutées.

  • stateDirectory(String) — Le chemin du fichier dans lequel les fichiers de suivi d'état sont stockés.

  • trace (booléen) — Active la journalisation détaillée sur la console.

Exemples

L'exemple suivant montre un fichier de configuration d'entrée qui exécute les test phases build et pour deux documents de composants : sampledoc.yaml etconversation-intro.yaml. Chaque document composant possède un paramètre qui ne s'applique qu'à lui-même, et les deux utilisent un paramètre partagé. Le project paramètre s'applique aux deux documents du composant.

{ "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>" }