VisualStudioCodeCredential.get_token 失败

VisualStudioCodeCredential.get_token failed

我在 VS Code 和 Azure Python SDK 中使用 Jupyter Notebook 进行本地开发。

已安装相关 VS 代码扩展

目标:

问题:

import logging
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential

keyvault_name = "kv-test"
keyvualt_url = "https://" + keyvault_name + ".vault.azure.net"
keyvault_credential = DefaultAzureCredential()
kv_secret1_name = "secret-test"

keyvault_client = SecretClient(vault_url=keyvualt_url, credential=keyvault_credential)

retrieved_key = keyvault_client.get_secret(kv_secret1_name)
        
logging.info("Account key retrieved from Keyvault")

错误:

EnvironmentCredential.get_token failed: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.

ManagedIdentityCredential.get_token failed: ManagedIdentityCredential authentication unavailable, no managed identity endpoint found.

SharedTokenCacheCredential.get_token failed: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.

VisualStudioCodeCredential.get_token failed: **Failed to get Azure user details from Visual Studio Code**.

目前已尝试:

看起来 DefaultCredential() 信用链是 运行,但它无法 ...get Azure user details from Visual Studio Code.

这是因为我在 VS Code 中的 Jupyter Notebook 中进行开发还是存在其他问题?看起来有点像 similar happened to the Python .NET SDK.

不确定为什么它不起作用,它看起来是正确的。如果您只想使用 visual studio 代码登录,您也可以使用 AzureCliCredential。它对我有用。

您可以使用 az login 登录您的帐户。然后您将使用代码进行保密。

from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential,AzureCliCredential

keyvault_credential= AzureCliCredential()

secret_client = SecretClient("https://{vault-name}.vault.azure.net", keyvault_credential)
secret = secret_client.get_secret("secret-name")

print(secret.name)
print(secret.value)

有关详细信息,请参阅 Azure Identity client library for Python