本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定輸入 AWS TOE 運行命令
簡化指令行輸入 AWS TOE run指令,您可以在具有副檔名的JSON格式輸入組態檔案中包含指令參數和選項的.json
設定。 AWS TOE 可以從下列其中一個位置讀取您的檔案:
-
本機檔案路徑 (
./config.json
). -
一個 S3 存儲桶(
s3://<bucket-path>/<bucket-name>/config.json
).
當您輸入指run令時,您可以使用--config參數指定輸入規劃檔案。例如:
awstoe run --config
<file-path>/config.json
輸入配置文件
輸入組態JSON檔案包括您可以透過run指令參數和選項直接提供的所有設定的鍵值配對。如果您同時在輸入組態檔案和指run令中指定設定作為參數或選項,則適用下列優先順序規則:
優先順序規則
-
直接提供給中run指令的設定 AWS CLI透過參數或選項,覆寫在輸入組態檔案中針對相同設定定義的任何值。
-
輸入規劃檔案中的設定會取代元件預設值。
-
如果沒有其他設定傳遞至元件文件,它可以套用預設值 (如果有的話)。
此規則有兩個例外狀況 — 文件和參數。這些設定在輸入組態和指令參數中的運作方式不同。如果使用輸入組態檔案,則不得將這些參數直接指定給指run令。這樣做會產生錯誤。
元件設定
輸入組態檔案包含下列設定。為了簡化您的文件,您可以省略任何不需要的可選設置。除非另有說明,否則所有設定均為選用
-
cwIgnoreFailures(布林值) — 忽略記錄 CloudWatch 檔中的記錄失敗。
-
cwLogGroup(字串) — 記 CloudWatch 錄檔的
LogGroup
名稱。 -
cwLogRegion(字符串)- AWS 適用於 CloudWatch 日誌的區域。
-
cwLogStream(字符串)- CloudWatch 日誌的
LogStream
名稱,指示 AWS TOE 在哪裡流式傳輸console.log
文件。 -
文件 3 BucketOwner (字串) — S3 URI 文件的儲存貯體擁有者帳戶 ID。
-
文件 (物件陣列,必要) — JSON 物件陣列代表的YAML元件文件 AWS TOE run命令正在運行。至少必須指定一個元件文件。
每個物件都包含下列欄位:
-
path (字串,必要) — YAML 元件文件的檔案位置。這必須是下列其中一項:
-
本機檔案路徑 (
./component-doc-example.yaml
). -
一個 S3URI(
s3://
)。bucket/key
-
映 Image Builder 元件建置版本 ARN (arn: aw: 影像建置器:美國西部
2:123456789012
:組件/my-example-component
(1).
-
-
parameters (物件陣列) — 鍵值對物件的陣列,每個物件都代表run指令執行元件文件時所傳入的元件特定參數。元件的參數是可選的。零組件文件可能已定義參數,也可能沒有定義參數。
每個物件都包含下列欄位:
-
name (字串,必要) — 元件參數的名稱。
-
value (字串,必要) — 要傳入至具名參數之元件文件的值。
若要深入瞭解元件參數,請參閱在自訂元件文件中使用變數頁面中的參數段落。
-
-
-
executonId(字符串)-這是適用於當前run命令的執行的唯一 ID。此 ID 包含在輸出檔和記錄檔名稱中,以唯一識別這些檔案,並將它們連結至目前的指令執行。如果省略了此設置, AWS TOE 會產生一個GUID。
-
logDirectory(字符串)-目標目錄,其中 AWS TOE 存儲此命令執行中的所有日誌文件。根據預設,此目錄位於下列父目錄內:
TOE_<DATETIME>_<EXECUTIONID>
。如果您未指定記錄目錄, AWS TOE 使用當前工作目錄(.
)。 -
LogS3 BucketName (字串) — 如果元件日誌存放在 Amazon S3 (建議使用), AWS TOE 將元件應用程式日誌上傳到此參數中指定的 S3 儲存貯體。
-
LogS3 BucketOwner (字串) — 如果元件日誌存放在 Amazon S3 (建議使用),則此為儲存貯體的擁有者帳戶 ID AWS TOE 寫入記錄檔。
-
LogS3 KeyPrefix (字串) — 如果元件日誌存放在 Amazon S3 (建議使用),這是儲存貯體中日誌位置的 S3 物件 key prefix 置詞。
-
parameters (物件陣列) — 鍵值配對物件的陣列,代表全域套用至目前run命令執行中包含的所有元件的參數。
-
name (字串,必要) — 全域參數的名稱。
-
value (字串,必要) — 要傳入至具名參數之所有元件文件的值。
-
-
階段 (字串) — 以逗號分隔的清單,指定要從YAML元件文件執行的階段。如果元件文件包含其他階段,則這些階段將不會執行。
-
stateDirectory(字串) — 儲存狀態追蹤檔案的檔案路徑。
-
trace (布林值) — 啟用主控台的詳細記錄功能。
範例
下列範例顯示一個輸入組態檔案,該檔案會針對兩個零組件文件執行build
和test
階段:sampledoc.yaml
、和conversation-intro.yaml
。每個元件文件都有一個僅適用於本身的參數,並且兩者都使用一個共用參數。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>" }