0

我有一个 ECS 集群,它的一个活动服务,以及这个服务的一个任务。我正在尝试ListTasks使用 Ruby AWS SDK 进行调用。

当没有活动任务时,它会出现一个空列表,正如预期的那样。但是当有一个正在运行的任务时,我得到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>' })
4

1 回答 1

0

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

于 2021-06-15T08:51:24.973 回答