【发布时间】:2021-08-31 02:18:15
【问题描述】:
我有一个 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=>[]}。
另外,我经常调用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>' })
【问题讨论】:
-
产生错误的代码是什么?
-
更新了问题。
标签: amazon-web-services aws-sdk amazon-ecs aws-sdk-ruby