在一维数组上使用 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`]'
使用 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`]'