AWSTOE run コマンドの入力を設定する - EC2 Image Builder

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSTOE run コマンドの入力を設定する

コマンドのコマンドライン入力を AWSTOE run効率化するために、コマンドパラメータとオプションの設定を.jsonファイル拡張子を持つ JSON 形式の入力設定ファイルに含めることができます。 AWSTOE は、次のいずれかの場所からファイルを読み取ることができます。

  • ローカルファイルパス (./config.json)。

  • S3 バケット (s3://<bucket-path>/<bucket-name>/config.json)。

run コマンドを入力すると、--config パラメータを使用して入力設定ファイルを指定できます。例:

awstoe run --config <file-path>/config.json
入力設定ファイル

入力設定 JSON ファイルには、run コマンドパラメータとオプションで直接指定できるすべての設定のキーと値のペアが含まれています。入力設定ファイルと run コマンドの両方の設定をパラメータまたはオプションとして指定する場合、次の優先順位が適用されます。

優先順位のルール
  1. パラメータまたはオプション AWS CLIを介して のrunコマンドに直接提供される設定は、同じ設定の入力設定ファイルで定義されている値を上書きします。

  2. 入力設定ファイル内の設定は、コンポーネントのデフォルト値を上書きします。

  3. コンポーネントドキュメントに他の設定が渡されない場合、デフォルト値があれば、そのデフォルト値を適用できます。

このルールには、ドキュメントとパラメータという 2 つの例外があります。これらの設定は、入力設定とコマンドパラメータでは動作が異なります。入力設定ファイルを使用する場合は、これらのパラメータを run コマンドに直接指定しないでください。そうするとエラーが発生する。

コンポーネント設定

入力設定ファイルには次の設定が含まれます。ファイルを効率化するために、不要なオプション設定は省略できます。特に明記されていない限り、すべての設定はオプションです。

  • cwIgnoreFailures (ブール値) — CloudWatch ログからのログ記録の失敗を無視します。

  • cwLogGroup (文字列) - CloudWatch ログLogGroupの名前。

  • cwLogRegion (文字列) – CloudWatch ログに適用される AWS リージョン。

  • cwLogStream (文字列) - console.logファイルをストリーミングする AWSTOE 場所を指定する CloudWatch ログLogStreamの名前。

  • documentS3BucketOwner (文字列) – S3 URI ベースのドキュメントのバケット所有者のアカウント ID。

  • documents (オブジェクトの配列、必須) — AWSTOE run コマンドが実行中の YAML コンポーネントドキュメントを表す JSON オブジェクトの配列。少なくとも 1 つのコンポーネント文書を指定しなければならない。

    各オブジェクトは以下のフィールドで構成される:

    • パス (文字列、必須) — YAML コンポーネントドキュメントのファイルの場所。これは、次のいずれかである必要があります。

      • ローカルファイルパス (./component-doc-example.yaml)。

      • S3 URI (s3://bucket/key)。

      • Image Builder コンポーネントのビルドバージョン ARN (arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2021.12.02/1)。

    • パラメータ (オブジェクトの配列) — キーと値のペアオブジェクトの配列で、それぞれがコンポーネントドキュメントを実行するときに run コマンドが渡すコンポーネント固有のパラメータを表します。コンポーネントではパラメータはオプションです。コンポーネントドキュメントにはパラメータが定義される場合とされない場合があります。

      各オブジェクトは以下のフィールドで構成される:

      • 名前 (文字列、必須) — コンポーネントパラメータの名前。

      • (文字列、必須) — コンポーネントドキュメントに渡される名前付きパラメータの値。

      コンポーネントパラメータの詳細については、カスタムコンポーネントドキュメントで変数を使用する ページの [パラメータ] セクションを参照してください。

  • ExecutOnID (文字列) — 現在の run コマンドの実行に適用される固有の ID。この ID は出力ファイル名とログファイル名に含まれ、これらのファイルを一意に識別し、現在のコマンド実行にリンクします。この設定を省略すると、 は GUID AWSTOE を生成します。

  • logDirectory (文字列) – がこのコマンド実行のすべてのログファイル AWSTOE を保存する宛先ディレクトリ。デフォルトでは、このディレクトリは親ディレクトリ TOE_<DATETIME>_<EXECUTIONID> の中にあります。ログディレクトリを指定しない場合、 は現在の作業ディレクトリ () AWSTOE を使用します.

  • logS3BucketName (文字列) – コンポーネントログが Amazon S3 に保存されている場合 (推奨)、 は AWSTOE コンポーネントアプリケーションログをこのパラメータで指定された S3 バケットにアップロードします。

  • logS3BucketOwner (文字列) – コンポーネントログが Amazon S3 に保存されている場合 (推奨)、これは がログファイルを AWSTOE 書き込むバケットの所有者アカウント ID です。

  • logS3KeyPrefix (文字列) – コンポーネントログが Amazon S3 に保存されている場合 (推奨)、これはバケット内のログの場所の S3 オブジェクトキープレフィックスです。

  • パラメータ (オブジェクトの配列) — 現在の run コマンド実行に含まれるすべてのコンポーネントにグローバルに適用されるパラメータを表すキー値のペアオブジェクトの配列。

    • name(文字列、必須) - グローバルパラメータの名前。

    • (文字列、必須) — すべてのコンポーネントドキュメントに渡される名前付きパラメータの値。

  • フェーズ (文字列) — YAML コンポーネントドキュメントから実行するフェーズを指定するカンマ区切りのリスト。コンポーネントドキュメントに追加のフェーズが含まれている場合、そのフェーズは実行されません。

  • StateDirectory (文字列) — ステートトラッキングファイルが保存されているファイルパス。

  • トレース (ブール値) — コンソールへの冗長ロギングを有効にする。

次の例は、2 つのコンポーネント文書に対して buildtest のフェーズを実行する入力設定ファイルを示している: sampledoc.yamlconversation-intro.yamlです。各コンポーネントドキュメントには、それ自体にのみ適用されるパラメータがあり、どちらも 1 つの共有パラメータを使用します。この project パラメータは両方のコンポーネントドキュメントに適用されます。

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