VisualStudioCodeCredential.get_token 失败
VisualStudioCodeCredential.get_token failed
我在 VS Code 和 Azure Python SDK 中使用 Jupyter Notebook 进行本地开发。
已安装相关 VS 代码扩展:
- Python
- Azure 帐户
- Azure 存储(可能相关?)
目标:
- 使用
DefaultCredential
从 Azure Keyvault 检索机密以进行身份验证
- 因为没有环境变量也没有
ManagedIdentity
凭据,DefaultCredential
应该默认从 VS Code 中提取我的凭据
问题:
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**.
目前已尝试:
F1
,Azure: Sign in
- 通过浏览器验证
- 无变化
看起来 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。
我在 VS Code 和 Azure Python SDK 中使用 Jupyter Notebook 进行本地开发。
已安装相关 VS 代码扩展:
- Python
- Azure 帐户
- Azure 存储(可能相关?)
目标:
- 使用
DefaultCredential
从 Azure Keyvault 检索机密以进行身份验证 - 因为没有环境变量也没有
ManagedIdentity
凭据,DefaultCredential
应该默认从 VS Code 中提取我的凭据
问题:
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**.
目前已尝试:
F1
,Azure: Sign in
- 通过浏览器验证
- 无变化
看起来 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。