Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS descripe_容器在直接查询时返回空_Amazon Web Services_Boto3_Amazon Ecs - Fatal编程技术网

Amazon web services AWS descripe_容器在直接查询时返回空

Amazon web services AWS descripe_容器在直接查询时返回空,amazon-web-services,boto3,amazon-ecs,Amazon Web Services,Boto3,Amazon Ecs,我正在使用boto3 sdk查询AWS ECS API,以全面描述Fargate集群 我首先获取集群的服务,然后获取每个服务的任务 任务包含一个键containers,其中包含容器列表。它们各自具有以下形式的ARN:aws:ecs:eu-west-2:822276179620:container/16328278-00a3-334f-b60c-5e966badd794 然后,我尝试将这些ARN传递给boto3的description\u container\u实例,传递正确的集群名称和上面提到的

我正在使用boto3 sdk查询AWS ECS API,以全面描述Fargate集群

我首先获取集群的服务,然后获取每个服务的任务

任务包含一个键
containers
,其中包含容器列表。它们各自具有以下形式的ARN:aws:ecs:eu-west-2:822276179620:container/16328278-00a3-334f-b60c-5e966badd794

然后,我尝试将这些ARN传递给boto3的
description\u container\u实例
,传递正确的集群名称和上面提到的containerARNs列表。这是一个错误,声称集装箱身份证无效。通过一些实验,我发现如果我在
container/
之后分割ARN的一部分并使用它,它就不再出错,而是声称所有containerInstances都“丢失”(在“failures”键下)

有趣的是,如果我试图直接在集群上运行
list\u container\u实例
,它将返回一个空列表(200个响应,没有错误)

总之,API似乎不愿意让我直接看到容器。我只能将它们视为任务对象的成员(任务对象不包含我所需的关于它们的所有信息)。

返回有关容器实例的信息。:

介绍Amazon弹性容器服务容器实例。返回每个请求的容器实例上已注册资源和剩余资源的元数据

但是,您正在运行Fargate集群,因此无法访问实例。它们由AWS管理

如果您正在运行,则可以访问容器实例,而不是Fargate:

EC2启动类型:EC2启动类型允许您在您管理的Amazon EC2实例集群上运行容器化应用程序


啊,明白了。那么,有没有办法获得更多关于
descripe\u task
返回的任务的“containers”键中提到的容器的信息?@alex\u halford Hi。我不这么认为。通过使用Fargate,您可以轻松地运行任务,但是您失去了更细粒度控制和访问的能力,就像EC2类型集群一样。如果您想获取有关运行任务的实例的详细信息,或微调它们,则应考虑使用EC2类型群集,而不是使用FARGATE。