如何在 ECS 任务定义命令中转义逗号
How to escape comma in ECS task definition command
我有 docker 个图像和命令:
celery -A bits.payment_tracking.app:app worker -l debug -Q celery,reports --concurrency 3
它在 docker 和 docker-compose 中完美运行。但它在 AWS ECS 任务定义中不起作用,因为 ECS 需要像这样用逗号分隔定义它:
celery,-A,bits.payment_tracking.app:app,worker,-l,debug,-Q,celery,reports,--concurrency,3
并且此命令将不起作用,因为 -Q celery,reports
ECS 始终以逗号分隔。
我知道很多解决方法,但我找不到一个问题的答案 - 如何在任务定义命令中转义逗号分隔?
感谢您的帮助。
在您的任务定义中,select您的最新版本并点击“创建新版本”。
在“创建任务定义的新修订”页面上,单击您的容器名称以打开容器编辑器。
在 Environment > Command 下添加逗号分隔的队列命令,例如
php,artisan,queue:work,--tries=1,--queue=queue1,queue2,queue3
单击更新以保存容器。
滚动到任务定义编辑器的底部,然后单击“通过 JSON 配置”,这将打开一个 JSON 编辑器。
手动更改命令参数以满足要求,例如
"command": [
"php",
"artisan",
"queue:work",
"--tries=1",
"--queue=queue1,queue2,queue3"
],
保存 JSON,然后单击创建以创建修订。
我有 docker 个图像和命令:
celery -A bits.payment_tracking.app:app worker -l debug -Q celery,reports --concurrency 3
它在 docker 和 docker-compose 中完美运行。但它在 AWS ECS 任务定义中不起作用,因为 ECS 需要像这样用逗号分隔定义它:
celery,-A,bits.payment_tracking.app:app,worker,-l,debug,-Q,celery,reports,--concurrency,3
并且此命令将不起作用,因为 -Q celery,reports
ECS 始终以逗号分隔。
我知道很多解决方法,但我找不到一个问题的答案 - 如何在任务定义命令中转义逗号分隔?
感谢您的帮助。
在您的任务定义中,select您的最新版本并点击“创建新版本”。
在“创建任务定义的新修订”页面上,单击您的容器名称以打开容器编辑器。
在 Environment > Command 下添加逗号分隔的队列命令,例如
php,artisan,queue:work,--tries=1,--queue=queue1,queue2,queue3
单击更新以保存容器。
滚动到任务定义编辑器的底部,然后单击“通过 JSON 配置”,这将打开一个 JSON 编辑器。
手动更改命令参数以满足要求,例如
"command": [
"php",
"artisan",
"queue:work",
"--tries=1",
"--queue=queue1,queue2,queue3"
],
保存 JSON,然后单击创建以创建修订。