#amazon-web-services #aws-sdk #amazon-ecs #aws-sdk-ruby
Вопрос:
У меня есть кластер 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>' })
Комментарии:
1. Что это за код, который генерирует ошибку?
2. Обновил вопрос.
Ответ №1:
Если вы не указываете кластер при вызове API «ListTasks», предполагается кластер «по умолчанию». Кроме того, дважды проверьте регион, используемый в вашем сценарии.
Комментарии:
1. Мой код
tasks = @@ecs_client.list_tasks({ cluster: '<cluster_name>' })
, взял его из документов. Регион , через который я прохожуAws.config[:region]
, и он везде одинаков, также кластер находится в том же регионе, что и все остальное.