使用 AWS SDK 获取最新的 fargate 平台版本值

Getting the latest fargate platform version value using the AWS SDK

我正在尝试构建一些自动化软件来检查资源是否是最新的,特别是获取最新版本值 1.4 atm。似乎无法通过 fargate

的 SDK 找到执行此操作的方法

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html

语法可能因您使用的语言而异,但通常您会先列出集群中的任务 运行,然后再对其进行描述。这是它在 CLI 中的工作方式,您可以对您计划使用的特定语言使用相同的过程:

$ aws ecs list-tasks --cluster mywebapp
{
    "taskArns": [
        "arn:aws:ecs:us-west-2:123456789:task/mywebapp/0f66dab0699543dbb1153f850f3a2610",
        "arn:aws:ecs:us-west-2:123456789:task/mywebapp/11ca1f4d41524f3b941bb8b281fde2a6",
        "arn:aws:ecs:us-west-2:123456789:task/mywebapp/b4c093d37bcf4b85b50d8c757c93b376",
        "arn:aws:ecs:us-west-2:123456789:task/mywebapp/b50130ed847647e387f87c50431f30e0"
    ]
}

然后您遍历描述它们的任务。这就是您如何描述其中之一以及如何过滤返回的 json:

$ aws ecs describe-tasks --cluster mywebapp --tasks b50130ed847647e387f87c50431f30e0 | jq .tasks[0].platformVersion                                     
"1.4.0"

此任务在 PV 1.4

[更新的答案]:我这边有一些误解。实际问题是"I have a list of all tasks PV versions already, how can I know what the latest version is?"。正确答案是我们不发布该信息。我们不这样做的一个原因是因为 PV 在某种程度上是静态的,而且自从我们 4 年前推出 Fargate 以来我们还没有公布过很多。解决此问题的一种方法是 create an SSM parameter store entry like we do for AMIs。然而,有一种观点认为,对于一个很少更改的版本号,这可能是一个用来发射苍蝇的火箭筒。很高兴听到您对此的反馈。