调用 UpdateService 操作时的 AWS ECS InvalidParameterExcpetion
Posted
技术标签:
【中文标题】调用 UpdateService 操作时的 AWS ECS InvalidParameterExcpetion【英文标题】:AWS ECS InvalidParameterExcpetion when calling the UpdateService Operation 【发布时间】:2020-03-03 19:59:41 【问题描述】:我一直在尝试使用 jenkins 为我的 ECS 集群设置 CI/CD。我跟着这个blog 做同样的事情。但是我收到了这个错误:
调用时发生错误(InvalidParameterException) UpdateService 操作:修订号无效。数量:49
用于更新服务的命令是:
aws ecs update-service --cluster $CLUSTER_NAME --service $SERVICE_NAME --task-definition $TASK_FAMILY:$TASK_REVISION --desired-count $DESIRED_COUNT
令人惊讶的是,如果我从 cli 运行命令并输入所有值,它就会成功运行。我不确定该命令有什么问题。
Edit 1:修订存在于 AWS 的任务定义中。我可以从 AWS 控制台看到该特定修订。正如我已经提到的,该命令使用该特定版本从 cli 成功运行。
编辑 2:我可以使用 aws ecs list-task-definitions
列出任务定义,并且我在列表中看到了该特定任务定义,但我无法使用 $ 描述该任务定义TASK_FAMILY:$TASK_REVISION。它给了我同样的错误。
【问题讨论】:
【参考方案1】:好吧,我发现 aws ecs describe-task-definition $TASK_FAMILY
正在工作,而 aws ecs describe-task-definition $TASK_FAMILY:$TASK_REVISION
正在抛出相同的 Invalid revision number error
。
所以我尝试了 update-service 命令而不使用 $TASK_REVISION 变量,如下所示:
aws ecs update-service --cluster $CLUSTER_NAME --service $SERVICE_NAME --task-definition $TASK_FAMILY --desired-count $DESIRED_COUNT
它奏效了。它还使用任务定义的最新版本。
【讨论】:
您知道这是否适用于 ARN?或者只是TaskFamily 可以吗?谢谢 @IvánSánchez 你只需要输入任务族。不需要完整的 ARN以上是关于调用 UpdateService 操作时的 AWS ECS InvalidParameterExcpetion的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Elastic Beanstalk 应用程序中运行 Tomcat Docker 时的端口转发
使用第三方 smtp 服务器时的 AWS EC2 电子邮件发送限制