如何在ECS任务定义命令中转义逗号逗号、命令、定义、任务

2023-09-03 10:00:45 作者:帅届扛把子

我有docker图像和命令:

celery -A bits.payment_tracking.app:app worker -l debug -Q celery,reports --concurrency 3

它在对接和对接组合中都能很好地工作。但它在AWS ECS任务定义中不起作用,因为ECS需要这样定义它,用逗号分隔:

celery,-A,bits.payment_tracking.app:app,worker,-l,debug,-Q,celery,reports,--concurrency,3
Word文字可以朗读出来,你知道吗

此命令将不起作用,因为-Q celery,reportsECS总是用逗号分隔。 我知道许多解决方法,但我找不到一个问题的答案-如何在任务定义命令中避免逗号分隔?

感谢您的帮助。

推荐答案

在您的任务定义中,选择您的最新修订版本,然后单击创建新修订版本(&Q;)。 在创建任务定义的新修订版页面上,单击您的容器名称以打开容器编辑器。 在环境命令下,添加逗号分隔的队列命令,例如 php,artisan,queue:work,--tries=1,--queue=queue1,queue2,queue3 单击更新以保存容器。 滚动到任务定义编辑器的底部,然后单击通过JSON&Quot;配置,这将打开一个JSON编辑器。 手动更改命令参数以满足要求,例如

"command": [
                "php",
                "artisan",
                "queue:work",
                "--tries=1",
                "--queue=queue1,queue2,queue3"
            ],

保存JSON,然后单击"创建"以创建修订。