

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

# AWSTOE run コマンドの入力を設定する
<a name="toe-run-config-input"></a>

コマンドのコマンドライン入力を 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**コマンドに直接提供される設定は、同じ設定の入力設定ファイルで定義されているすべての値を上書きします。

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

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

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

**コンポーネント設定**  
入力設定ファイルには次の設定が含まれます。ファイルを効率化するために、不要なオプション設定は省略できます。特に明記されていない限り、すべての設定はオプションです。
+ **CWIgnoreFailures** (ブール値) — CloudWatch Logs からのロギング障害を無視します。
+ **CWLogGroup** (文字列) — CloudWatch Logs `LogGroup` 名。
+ **cwLogRegion** (文字列) – CloudWatch Logs に適用される AWS リージョン。
+ **cwLogStream** (文字列) – CloudWatch Logs `LogStream`の名前。`console.log`ファイルをストリーミングする AWSTOE 場所を指定します。
+ **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** コマンドが渡すコンポーネント固有のパラメータを表します。コンポーネントではパラメータはオプションです。コンポーネントドキュメントにはパラメータが定義される場合とされない場合があります。

    各オブジェクトは以下のフィールドで構成される：
    + **名前** (文字列、必須) — コンポーネントパラメータの名前。
    + **値** (文字列、必須) — コンポーネントドキュメントに渡される名前付きパラメータの値。

    コンポーネントパラメータの詳細については、[カスタムコンポーネントドキュメントでの変数の使用](toe-user-defined-variables.md) ページの **[パラメータ]** セクションを参照してください。
+ **ExecutOnID** (文字列) — 現在の **run** コマンドの実行に適用される固有の ID。この ID は出力ファイル名とログファイル名に含まれ、これらのファイルを一意に識別し、現在のコマンド実行にリンクします。この設定を省略すると、 は GUID AWSTOE を生成します。
+ **logDirectory** (文字列) – がこのコマンド実行のすべてのログファイル AWSTOE を保存する送信先ディレクトリ。デフォルトでは、このディレクトリは親ディレクトリ `TOE_<DATETIME>_<EXECUTIONID>` の中にあります。ログディレクトリを指定しない場合、 は現在の作業ディレクトリ () AWSTOE を使用します`.`。
+ **logS3BucketName** (文字列) – コンポーネントログが Amazon S3 に保存されている場合 (推奨）、 はコンポーネントアプリケーションログをこのパラメータで という名前の S3 バケット AWSTOE にアップロードします。
+ **logS3BucketOwner** (文字列) – コンポーネントログが Amazon S3 に保存されている場合 (推奨）、これは がログファイルを AWSTOE 書き込むバケットの所有者アカウント ID です。
+ **Logs3KeyPrefix** (文字列) — コンポーネントログが Amazon S3 に保存されている場合 (推奨)、これはバケット内のログの場所の S3 オブジェクトキープレフィックスです。
+ **パラメータ** (オブジェクトの配列) — 現在の **run** コマンド実行に含まれるすべてのコンポーネントにグローバルに適用されるパラメータを表すキー値のペアオブジェクトの配列。
  + **name**（文字列、必須） - グローバルパラメータの名前。
  + **値** (文字列、必須) — すべてのコンポーネントドキュメントに渡される名前付きパラメータの値。
+ **フェーズ** (文字列) — YAML コンポーネントドキュメントから実行するフェーズを指定するカンマ区切りのリスト。コンポーネントドキュメントに追加のフェーズが含まれている場合、そのフェーズは実行されません。
+ **StateDirectory** (文字列) — ステートトラッキングファイルが保存されているファイルパス。
+ **トレース** (ブール値) — コンソールへの冗長ロギングを有効にする。

**例**  
次の例は、2 つのコンポーネント文書に対して `build` と `test` のフェーズを実行する入力設定ファイルを示している: `sampledoc.yaml`と`conversation-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>"
 }
```