Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Azure-Bibliotheken für Python verwenden, um eine Verbindung mit allen Regionen herzustellen, in denen Azure verfügbar ist.
Standardmäßig sind die Azure-Bibliotheken so konfiguriert, dass eine Verbindung mit der globalen Azure-Cloud hergestellt wird.
Verwenden vordefinierter souveräner Cloudkonstanten
Das AzureAuthorityHosts Modul der azure.identity Bibliothek stellt vordefinierte souveräne Cloudkonstanten bereit:
AZURE_CHINAAZURE_GOVERNMENTAZURE_PUBLIC_CLOUD
Um eine Definition zu verwenden, importieren Sie die entsprechende Konstante aus azure.identity.AzureAuthorityHosts , und wenden Sie sie beim Erstellen von Clientobjekten an.
Wenn Sie DefaultAzureCredential wie im folgenden Beispiel gezeigt verwenden, können Sie die Cloud unter Verwendung des entsprechenden Werts aus azure.identity.AzureAuthorityHosts angeben.
import os
from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
from azure.identity import DefaultAzureCredential, AzureAuthorityHosts
from azure.core import AzureClouds
authority = AzureAuthorityHosts.AZURE_CHINA
# Set environment variable AZURE_SUBSCRIPTION_ID as well as environment variables
# for DefaultAzureCredential. For combinations of environment variables, see
# https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#environment-variables
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# When using sovereign domains (that is, any cloud other than AZURE_PUBLIC_CLOUD),
# you must use an authority with DefaultAzureCredential.
credential = DefaultAzureCredential(authority=authority)
resource_client = ResourceManagementClient(
credential, subscription_id, cloud_setting=AzureClouds.AZURE_CHINA_CLOUD
)
subscription_client = SubscriptionClient(
credential, cloud_setting=AzureClouds.AZURE_CHINA_CLOUD
)
Hinweis
Die cloud_setting Funktion wurde neu hinzugefügt und wird in den Azure SDK-Verwaltungsbibliotheken schrittweise eingeführt. In diesem Zeitraum unterstützen einige Clients sie, während andere nicht. Um die Unterstützung zu überprüfen, suchen Sie nach einem cloud_setting Parameter im Clientkonstruktor. Wenn der Client Ihres Diensts cloud_setting noch nicht bereitstellt, können Sie Sovereign Clouds weiterhin ansprechen, indem Sie den in den folgenden Beispielen gezeigten bisherigen Ansatz verwenden.
import os
from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
from azure.identity import DefaultAzureCredential, AzureAuthorityHosts
authority = AzureAuthorityHosts.AZURE_CHINA
resource_manager = "https://management.chinacloudapi.cn"
# Set environment variable AZURE_SUBSCRIPTION_ID as well as environment variables
# for DefaultAzureCredential. For combinations of environment variables, see
# https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#environment-variables
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# When using sovereign domains (that is, any cloud other than AZURE_PUBLIC_CLOUD),
# you must use an authority with DefaultAzureCredential.
credential = DefaultAzureCredential(authority=authority)
resource_client = ResourceManagementClient(
credential,
subscription_id,
base_url=resource_manager,
credential_scopes=[resource_manager + "/.default"],
)
subscription_client = SubscriptionClient(
credential,
base_url=resource_manager,
credential_scopes=[resource_manager + "/.default"],
)
Verwenden Ihrer eigenen Clouddefinition
Ersetzen Sie im folgenden Code die Werte der authority, endpointund audience Variablen durch Werte, die für Ihre private Cloud geeignet sind.
import os
from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
from azure.identity import DefaultAzureCredential
from azure.profiles import KnownProfiles
# Set environment variable AZURE_SUBSCRIPTION_ID as well as environment variables
# for DefaultAzureCredential. For combinations of environment variables, see
# https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#environment-variables
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
authority = "<your authority>"
endpoint = "<your endpoint>"
audience = "<your audience>"
# When using a private cloud, you must use an authority with DefaultAzureCredential.
# The active_directory endpoint should be a URL like https://login.microsoftonline.com.
credential = DefaultAzureCredential(authority=authority)
resource_client = ResourceManagementClient(
credential, subscription_id,
base_url=endpoint,
profile=KnownProfiles.v2019_03_01_hybrid,
credential_scopes=[audience])
subscription_client = SubscriptionClient(
credential,
base_url=endpoint,
profile=KnownProfiles.v2019_03_01_hybrid,
credential_scopes=[audience])
Beispielsweise können Sie für Azure Stack den Befehl az cloud show CLI verwenden, um die Details einer registrierten Cloud zurückzugeben. Die folgende Ausgabe zeigt die Werte, die für die öffentliche Azure-Cloud zurückgegeben werden, aber die Ausgabe für eine private Azure Stack-Cloud sollte ähnlich sein.
{
"endpoints": {
"activeDirectory": "https://login.microsoftonline.com",
"activeDirectoryDataLakeResourceId": "https://datalake.azure.net/",
"activeDirectoryGraphResourceId": "https://graph.windows.net/",
"activeDirectoryResourceId": "https://management.core.windows.net/",
"appInsightsResourceId": "https://api.applicationinsights.io",
"appInsightsTelemetryChannelResourceId": "https://dc.applicationinsights.azure.com/v2/track",
"attestationResourceId": "https://attest.azure.net",
"azmirrorStorageAccountResourceId": null,
"batchResourceId": "https://batch.core.windows.net/",
"gallery": "https://gallery.azure.com/",
"logAnalyticsResourceId": "https://api.loganalytics.io",
"management": "https://management.core.windows.net/",
"mediaResourceId": "https://rest.media.azure.net",
"microsoftGraphResourceId": "https://graph.microsoft.com/",
"ossrdbmsResourceId": "https://ossrdbms-aad.database.windows.net",
"portal": "https://portal.azure.com",
"resourceManager": "https://management.azure.com/",
"sqlManagement": "https://management.core.windows.net:8443/",
"synapseAnalyticsResourceId": "https://dev.azuresynapse.net",
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json"
},
"isActive": true,
"name": "AzureCloud",
"profile": "latest",
"suffixes": {
"acrLoginServerEndpoint": ".azurecr.io",
"attestationEndpoint": ".attest.azure.net",
"azureDatalakeAnalyticsCatalogAndJobEndpoint": "azuredatalakeanalytics.net",
"azureDatalakeStoreFileSystemEndpoint": "azuredatalakestore.net",
"keyvaultDns": ".vault.azure.net",
"mariadbServerEndpoint": ".mariadb.database.azure.com",
"mhsmDns": ".managedhsm.azure.net",
"mysqlServerEndpoint": ".mysql.database.azure.com",
"postgresqlServerEndpoint": ".postgres.database.azure.com",
"sqlServerHostname": ".database.windows.net",
"storageEndpoint": "core.windows.net",
"storageSyncEndpoint": "afs.azure.net",
"synapseAnalyticsEndpoint": ".dev.azuresynapse.net"
}
}
Legen Sie authority im vorherigen Code auf den Wert der endpoints.activeDirectory Eigenschaft, endpoint auf den Wert der endpoints.resourceManager Eigenschaft und audience auf den Wert der endpoints.activeDirectoryResourceId Eigenschaft + ".default" fest.
Weitere Informationen finden Sie unter Verwenden der Azure CLI mit Azure Stack Hub und Abrufen von Authentifizierungsinformationen für Azure Stack Hub.