本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
配置 AWS TOE 運行命令的輸入
為了簡化命令的命 AWS TOE run令行輸入,您可以在 JSON 格式輸入配置檔案中包含命令參數和選項的設定,並具有副.json
檔名。 AWS TOE 可以從下列其中一個位置讀取您的檔案:
-
本機檔案路徑 (
. /配置.json)。
-
一個 S3 存儲桶(
S3:///配置.json
<bucket-path><bucket-name>)。
當您輸入指run令時,您可以使用--config參數指定輸入規劃檔案。例如:
awstoe run --config
<file-path>/config.json
輸入配置文件
輸入組態 JSON 檔案包含您可以透過run命令參數和選項直接提供之所有設定的索引鍵值配對。如果您同時在輸入組態檔案和指run令中指定設定作為參數或選項,則適用下列優先順序規則:
優先順序規則
-
透過參數或選項直接提供給中run AWS CLI指令的設定會取代在輸入組態檔案中針對相同設定定義的任何值。
-
輸入規劃檔案中的設定會取代元件預設值。
-
如果沒有其他設定傳遞至元件文件,它可以套用預設值 (如果有的話)。
此規則有兩個例外狀況 — 文件和參數。這些設定在輸入組態和指令參數中的運作方式不同。如果使用輸入組態檔案,則不得將這些參數直接指定給指run令。這樣做會產生錯誤。
元件設定
輸入組態檔案包含下列設定。為了簡化您的文件,您可以省略任何不需要的可選設置。除非另有說明,否則所有設定均為選用
-
cwIgnoreFailures(布林值) — 忽略記錄 CloudWatch 檔中的記錄失敗。
-
cwLogGroup(字串) — 記 CloudWatch 錄檔的
LogGroup
名稱。 -
cwLogRegion(字串) — 適用於 CloudWatch 記錄的 AWS 區域。
-
cwLogStream(字符串)- CloudWatch 日誌的
LogStream
名稱,用於指示流式傳輸console.log
文件的 AWS TOE 位置。 -
文件 3 BucketOwner (字串) — S3 URI 文件的儲存貯體擁有者帳戶 ID。
-
文件 (必要的物件陣列) — JSON 物件陣列,代表命 AWS TOE run令執行的 YAML 元件文件。至少必須指定一個元件文件。
每個物件都包含下列欄位:
-
路徑 (字串,必要) — YAML 元件文件的檔案位置。這必須是下列其中一項:
-
本機檔案路徑 (
. /component-doc-example. 亞米爾)
. -
一個 S3 URI (
s3://
)。bucket/key
-
Image Builder 組件構建 ARN 版本(ARN:AW:圖像生成器:美國西部 2:1234567890:組件/2021.12.02/1)。
my-example-component
-
-
parameters (物件陣列) — 鍵值對物件的陣列,每個物件都代表run指令執行元件文件時所傳入的元件特定參數。元件的參數是可選的。零組件文件可能已定義參數,也可能沒有定義參數。
每個物件都包含下列欄位:
-
name (字串,必要) — 元件參數的名稱。
-
value (字串,必要) — 要傳入至具名參數之元件文件的值。
若要深入瞭解元件參數,請參閱在自訂元件文件中使用變數頁面中的參數段落。
-
-
-
ExecutId(字符串)-這是適用於當前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 (建議使用),這是 AWS TOE 寫入日誌檔的儲存貯體的擁有者帳戶 ID。
-
LogS3 KeyPrefix (字串) — 如果元件日誌存放在 Amazon S3 (建議使用),這是儲存貯體中日誌位置的 S3 物件 key prefix 置詞。
-
parameters (物件陣列) — 鍵值配對物件的陣列,代表全域套用至目前run命令執行中包含的所有元件的參數。
-
name (字串,必要) — 全域參數的名稱。
-
value (字串,必要) — 要傳入至具名參數之所有元件文件的值。
-
-
階段 (字串) — 以逗號分隔的清單,指定要從 YAML 元件文件執行的階段。如果元件文件包含其他階段,則這些階段將不會執行。
-
狀態目錄 (字串) — 儲存狀態追蹤檔案的檔案路徑。
-
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>" }