Объединение выражения запроса в Azure CLI - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь запросить список мягко удаленных Azure хранилищ ключей, а затем определить, указано ли имя указанного c хранилища ключей.

 keyVaultName=whatever
 az keyvault list-deleted --query "[?contains(name, $keyVaultName)]" -o json

Это дает результат ...

az keyvault list-deleted: error: argument --query: invalid jmespath_type value: '[? Contains (name, something )]'

Очевидно, мне нужно заключить это имя переменной в одинарные кавычки - но как? Есть ли какая-то функция конкатенации строк?

1 Ответ

1 голос
/ 17 июня 2020

содержит return true или false, формат

boolean contains(array|string $subject, any $search)

Вы можете попробовать это

kv=nancykeyvault
az keyvault list-deleted --query "contains([].name,'$kv')"

enter image description here

Или просто заключите переменную в одинарные кавычки, вот так, она по умолчанию выводит в формате JSON.

az keyvault list-deleted --query "[?contains(name,'$kv')]"

enter image description here

...