未找到环境配置。默认 AzureCredential()

No environment configuration found. DefaultAzureCredential()

我正在尝试使用此 python 示例通过 Azure 服务对客户端进行身份验证

# pip install azure-identity
from azure.identity import DefaultAzureCredential
# pip install azure-mgmt-compute
from azure.mgmt.compute import ComputeManagementClient
# pip install azure-mgmt-network
from azure.mgmt.network import NetworkManagementClient
# pip install azure-mgmt-resource
from azure.mgmt.resource import ResourceManagementClient

    SUBSCRIPTION_ID = creds_obj['SUBSCRIPTION_ID']

    # Create client
    # For other authentication approaches, please see: https://pypi.org/project/azure-identity/
    resource_client = ResourceManagementClient(
        credential=DefaultAzureCredential(),
        subscription_id=SUBSCRIPTION_ID
    )
    network_client = NetworkManagementClient(
        credential=DefaultAzureCredential(),
        subscription_id=SUBSCRIPTION_ID
    )
    compute_client = ComputeManagementClient(
        credential=DefaultAzureCredential(),
        subscription_id=SUBSCRIPTION_ID
    )

我不断收到 No environment configuration found. 代码示例直接来自微软github:https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/resources/azure-mgmt-resource/azure/mgmt/resource/resources/_resource_management_client.py。理想情况下,我想使用环境变量或配置文件来管理此配置。有什么办法吗?

当为 Python 使用 Azure Identity 客户端库时,DefaultAzureCredential 尝试按以下顺序通过以下机制进行身份验证,成功时停止:

您可以设置 Environment Variables 来修复它。

from azure.identity import DefaultAzureCredential

credential=DefaultAzureCredential()

config中设置属性并使用ClientSecretCredential创建凭证。

from azure.identity import ClientSecretCredential

subscription_id = creds_obj["AZURE_SUBSCRIPTION_ID"]
tenant_id = creds_obj["AZURE_TENANT_ID"]
client_id = creds_obj["AZURE_CLIENT_ID"]
client_secret = creds_obj["AZURE_CLIENT_SECRET"]

credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)