我有一个 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=>[]}
。
另外,我经常调用DescribeServices
和UpdateService
为相同的集群名称成功。
但错误仍然存在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>' })