gpt4 book ai didi

amazon-web-services - 如何运行 AWS ECS 任务覆盖环境变量

转载 作者:IT老高 更新时间:2023-10-28 12:42:32 26 4
gpt4 key购买 nike

要通过 CLI 覆盖环境变量,我们可以根据 AWS ECS Commandline Reference 使用 --overrides (structure)

如何在命令行中传递名称值对(结构或 JSON)?

[
{ "name" : "NAME", "value" : "123" },
{ "name" : "DATE", "value" : "1234-12-12" },
{ "name" : "SCRIPT", "value" : "123456" }
]

我正在寻找一种使用 AWS ECS CLI 覆盖上述环境变量的方法。类似的东西:

aws ecs run-task --overrides <<just environment vars here>> --task-definition ...

文档不清楚。我用谷歌搜索但无济于事。

最佳答案

您必须提供 --overrides option 下记录的 JSON 文档。

{
"containerOverrides": [
{
"name": "string",
"command": ["string", ...],
"environment": [
{
"name": "string",
"value": "string"
}
...
]
}
...
],
"taskRoleArn": "string"
}

您必须指定容器的 name 以获取环境覆盖,并指定 environment 键值对列表。

您可以在参数中指定 JSON 文档或将文件路径参数传递给任务。我将展示两种方式。

内联传递 JSON

您的命令将如下所示(填写值 CONTAINER_NAME_FROM_TASK)。

aws ecs run-task --overrides '{ "containerOverrides": [ { "name": "CONTAINER_NAME_FROM_TASK", "environment": [ { "name": "NAME", "value": "123" }, { "name": "DATE", "value": "1234-12-12" }, { "name": "SCRIPT", "value": "123456" } ] } ] }' --task-definition (...)

虽然看起来确实很丑,而且编辑起来很烦人。它也仅适用于 Unix-y 系统,并且需要在 Windows 中进行引号转义。

另外,您可以将文件路径传递给 AWS CLI,并让它从文件中加载您的覆盖 JSON。

传递文件路径参数

创建一个文件,我们将其命名为overrides.json,并将相同的JSON放入其中:

{
"containerOverrides": [{
"name": "CONTAINER_NAME_FROM_TASK",
"environment": [{
"name": "NAME",
"value": "123"
}, {
"name": "DATE",
"value": "1234-12-12"
}, {
"name": "SCRIPT",
"value": "123456"
}]
}]
}

然后,假设您的文件位于当前目录:

aws ecs run-task --overrides file://overrides.json --task-definition (..)

如果您的文件在文件系统的其他位置,并且您使用的是 Linux/Unix-y 系统:

aws ecs run-task --overrides file:///path/to/overrides.json --task-definition (..)

如果您的文件在文件系统的其他位置,并且您在 Windows 中执行此操作:

aws ecs run-task --overrides file://DRIVE_LETTER:\path\to\overrides.json --task-definition (..)

关于amazon-web-services - 如何运行 AWS ECS 任务覆盖环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com