You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CLI执行run-task命令报错:Unknown options: awsvpcConfiguration

解决AWS CLI执行ecs run-task时的Unknown options: awsvpcConfiguration错误

这个问题我之前也碰到过,核心原因是你的--network-configuration参数格式不符合AWS CLI的要求,shell把参数里的空格分隔部分当成了独立的未知选项,所以才会触发报错。

错误根源

你原来的命令里,awsvpcConfiguration的内容没有被正确包裹,shell会将整个配置拆分成多个零散的部分(比如awsvpcConfiguration=securityGroups=[test]),这些都是AWS CLI不认识的选项,自然就会抛出“Unknown options”的错误。

正确的命令写法

有两种可靠的方式来解决这个问题:

方式1:用单引号包裹整个awsvpcConfiguration块

单引号可以阻止shell解析内部的空格、括号等特殊字符,让AWS CLI正确识别完整的配置内容:

aws ecs run-task --cluster test-ecs-cluster --task-definition testtask --launch-type FARGATE --network-configuration 'awsvpcConfiguration={subnets=["subnet-1234","subnet-12345"],securityGroups=["test"],assignPublicIp="DISABLED"}'

方式2:使用--cli-input-json传入完整JSON请求体

如果觉得嵌套的键值对格式容易出错,推荐直接用JSON格式传递所有参数,这种方式更清晰,也不容易出现解析问题:

aws ecs run-task --cli-input-json '{
  "cluster": "test-ecs-cluster",
  "taskDefinition": "testtask",
  "launchType": "FARGATE",
  "networkConfiguration": {
    "awsvpcConfiguration": {
      "subnets": ["subnet-1234","subnet-12345"],
      "securityGroups": ["test"],
      "assignPublicIp": "DISABLED"
    }
  }
}'

额外提示

在使用AWS CLI传递包含复杂结构的参数时,一定要注意shell的解析规则:

  • 单引号(')会完全保留内部内容的原样,不会解析任何变量或特殊字符
  • 双引号(")会解析内部的变量,但不会拆分空格(不过如果内部有嵌套的双引号,需要用反斜杠转义)

内容的提问来源于stack exchange,提问作者Arockia Antony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 19:32:34