在一维数组上使用 Jmespath 过滤结果

Filter results using Jmespath on one dimensional array

使用 jmespath 并给出以下 json,我将如何过滤以便仅返回以“analytics”开头的 JobNames

有关更多上下文,json 由 aws cli 命令返回 aws glue list-jobs

{
    "JobNames": [
        "analytics-job1",
        "analytics-job2",
        "team2-job"
  ]
}

试过这个

JobNames[?starts_with(JobNames, `analytics`)]

但失败了

In function starts_with(), invalid type for value: None, expected one of: ['string'], received: "null"

上面我提取了 jmespath 位,但这是我尝试但失败的整个 aws cli 命令是这个

aws glue list-jobs --query '{"as_string": to_string(JobNames[?starts_with(JobNames, `analytics`)])}'

我无法在 list-jobs 上测试它,但查询部分可以在 list-crawlers 上运行。刚刚将 JobNames 替换为 CrawlerNames.

aws glue list-jobs --query 'JobNames[?starts_with(@, `analytics`) == `true`]'