错误的 Aws::ECS::Errors::ClusterNotFoundException — 发生了什么?

问题描述

我有一个 ECS 集群、一个活动的服务和这个服务的任务。我正在尝试使用 Ruby AWS SDK 调用 ListTasks

当没有活动任务时,正如预期的那样,它会出现一个空列表。但是当有一个正在运行的任务时,我得到了 Aws::ECS::Errors::ClusterNotFoundException

我尝试调用 ListClusters,并得到了成功的响应: {:cluster_arns=>["arn:aws:ecs:<region>:<account_num>:cluster/<cluster_name>"],:next_token=>nil}

我也尝试调用 DescribeServices,也得到了成功的响应:{:clusters=>[{:cluster_arn=>"arn:aws:ecs:<region>:<account_num>:cluster/<cluster_name>",:cluster_name=>"<cluster_name>",:status=>"ACTIVE",:registered_container_instances_count=>0,:running_tasks_count=>1,:pending_tasks_count=>0,:active_services_count=>1,:statistics=>[],:tags=>[],:settings=>[{:name=>"containerInsights",:value=>"enabled"}],:capacity_providers=>["FARGATE_SPOT","FARGATE"],:default_capacity_provider_strategy=>[{:capacity_provider=>"FARGATE",:weight=>1,:base=>0}],:attachments=>nil,:attachments_status=>nil}],:failures=>[]}

此外,我定期为同一个集群名称成功调用 DescribeServicesUpdateService

但是 ListTasks错误仍然存​​在。

有没有人遇到过类似的情况?你认为发生了什么?

UPD 产生错误代码

@@ecs_client = Aws::ECS::Client.new(
  region: Aws.config[:region],access_key_id: Aws.config[:credentials].access_key_id,secret_access_key: Aws.config[:credentials].secret_access_key
)

...

tasks = @@ecs_client.list_tasks({ cluster: '<cluster_name>' })

解决方法

如果您在调用“ListTasks”API 时未指定集群,则假定为“默认”集群。另外,请仔细检查脚本中使用的区域。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...