gpt4 book ai didi

azure - 如何检查 keystore 中是否存在给定名称的 key ?

转载 作者:行者123 更新时间:2023-12-02 22:56:42 25 4
gpt4 key购买 nike

我有一个名为 myKeyVault 的 keystore ,里面可能有一个名为 myKey 的 key 。我正在阅读 Azure CLI 的文档:https://learn.microsoft.com/en-us/cli/azure/keyvault/key?view=azure-cli-latest#az_keyvault_key_list但我不知道如何检查给定名称的键是否确实存在。

如果我同意:

az keyvault key show --vault-name myKeyVault --name keythatdoesntexist我确实收到 ResourceNotFoundError: (KeyNotFound) 错误,但我需要的是如果 key 存在则获取 true 或 false。

最佳答案

虽然上述方法可能有效,但它是通过检查null来完成的失败命令返回的值 az keyvault show <none existent secret>我相信以下是处理这种情况的更好方法,特别是在自动化基础设施发布管道中

# get Command Line Args
keyVaultName=$1
secretName=$2

# Check if secret exists
secret_exists=$(az keyvault secret list --vault-name $keyVaultName --query "contains([].id, 'https://$keyVaultName.vault.azure.net/secrets/$secretName')")


if [ $secret_exists == true ]; then
echo "Secret '$secretName' exists! fetching..."
secret_val=$(az keyvault secret show --name $secretName --vault-name $keyVaultName --query "value")
echo "##vso[task.setvariable variable=ssh_value]$secret_val"
else
echo "Secret '$secretName' do not exist! creating..."
ssh-keygen -f ~/.ssh/id_rsa_infra -q -P ""
ssh_value=$(<~/.ssh/id_rsa_infra.pub)
echo "##vso[task.setvariable variable=ssh_value]$ssh_value"
az keyvault secret set --vault-name $keyVaultName --name $secretName -f ~/.ssh/id_rsa_infra.pub >/dev/null
fi

关于azure - 如何检查 keystore 中是否存在给定名称的 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65035398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com