本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置输入EC2 TOE运行命令
为你简化命令行输入EC2 TOE run命令,您可以在 JSON 格式输入配置文件中包含命令参数和选项的设置,并使用.json
文件扩展名。EC2 TOE可以从以下位置之一读取文件:
-
本地文件路径 (
. /config.json
)。 -
S3 存储桶(
s3:<bucket-path>//<bucket-name>/config.json
)。
当你输入run命令中,您可以使用--config参数。例如:
awstoe run --config
<file-path>/config.json
输入配置文件
输入配置 JSON 文件包括您可以直接通过提供的所有设置的键值对run命令参数和选项。如果在输入配置文件和run命令,作为参数或选项,适用以下优先级规则:
优先级规则
-
直接提供给run中的命令Amazon CLI,通过参数或选项覆盖在输入配置文件中为相同设置定义的任何值。
-
输入配置文件中的设置将覆盖组件默认值。
-
如果没有将其他设置传递到组件文档中,则可以应用默认值(如果存在)。
这条规则有两个例外情况 —— 文档和参数。这些设置在输入配置和命令参数中的工作方式不同。如果使用输入配置文件,则不得将这些参数直接指定给run命令。这样做将产生错误。
组件设置
输入配置文件包含以下设置。为了简化文件,您可以省略任何不需要的可选设置。除非另有说明,否则所有设置均可选
-
CWignoRefLefLee 失败(布尔值)— 忽略 CloudWatch Logs 中的日志记录失败。
-
CWLOG 集团(字符串)—
LogGroup
CloudWatch Logs 的名称。 -
CWLOG 地区(字符串)—Amazon适用于 CloudWatch Logs 的区域。
-
CWlogStream(字符串)—
LogStream
指示的 CloudWatch Logs 的名称EC2 TOE在哪里直播console.log
文件。 -
文档3Bucket 所有者(字符串) — 基于 S3 URI 的文档的存储桶拥有者的账户 ID。
-
文件(对象数组,必填)— 代表 YAML 组件文档的 JSON 对象数组EC2 TOE run命令正在运行。必须至少指定一个组件文档。
每个对象由以下字段组成:
-
路径(字符串,必填)— YAML 组件文档的文件位置。必须是以下类型之一:
-
本地文件路径 (
. /组件doc-示例.yaml
)。 -
S3 URI (
s3://
)。bucket/key
-
Image Builder 组件构建版本 ARN (arn: aw: aw: imageBuilder: us-west-
2:1234589012
: 组件/我的例子组件
/2021.12.02/1)。
-
-
参数(对象数组)— 键值对对象的数组,每个对象代表一个特定于组件的参数run命令在运行组件文档时传入。组件的参数是可选的。组件文档可能有参数定义,也可能未定义参数。
每个对象由以下字段组成:
-
名称(字符串,必填)— 组件参数的名称。
-
值(字符串,必填)— 传入指定参数的组件文档的值。
要了解有关组件参数的更多信息,请参阅参数部分中的部分在中定义和引用变量EC2 TOE页.
-
-
-
ExeconId(字符串) — 这是适用于当前执行的唯一 IDrun命令。此 ID 包含在输出和日志文件名中,用于唯一标识这些文件,并将它们链接到当前的命令执行。如果忽略了这个设置,EC2 TOE生成 GUID。
-
日志目录(字符串) — 其中的目标目录EC2 TOE存储此命令执行中的所有日志文件。默认情况下,此目录位于以下父目录中:
TOE_<DATETIME>_<EXECUTIONID>
. 如果您未指定日志目录,EC2 TOE使用当前的工作目录(.
)。 -
logs3BucketName(字符串)— 如果组件日志存储在 Amazon S3 中(推荐),EC2 TOE将组件应用程序日志上传到此参数中命名的 S3 存储桶。
-
logs3Bucket 所有者(字符串) — 如果组件日志存储在 Amazon S3 中(推荐),则这是存储桶的所有者账户 IDEC2 TOE写日志文件。
-
logs3Key前缀(字符串) — 如果组件日志存储在 Amazon S3 中(推荐),则这是存储桶中日志位置的 S3 对象 key prefix。
-
参数(对象数组)— 键值对对象的数组,表示全局应用于当前组件中包含的所有组件的参数run命令执行。
-
名称(字符串,必填)— 全局参数的名称。
-
值(字符串,必填)— 传入指定参数的所有组件文档的值。
-
-
阶段(字符串) — 以逗号分隔的列表,指定要从 YAML 组件文档中运行哪些阶段。如果组件文档包括其他阶段,那么这些阶段将无法运行。
-
状态目录(字符串) — 存储状态跟踪文件的文件路径。
-
跟踪(布尔值)— 启用对控制台的详细日志记录。
示例
以下示例显示了运行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>" }