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.
Von Bedeutung
Das Python SDK wurde von Track 1 auf Track 2 aktualisiert. Es wird empfohlen, so bald wie möglich zum Track 2 SDK zu migrieren. Anweisungen finden Sie in diesem Migrationshandbuch.
Das Python SDK unterstützt API-Versionsprofile für verschiedene Cloudplattformen, z. B. Azure Stack Hub und globale Azure. Verwenden Sie API-Profile zum Erstellen von Lösungen für eine Hybridcloud.
Die Anweisungen in diesem Artikel erfordern ein Microsoft Azure-Abonnement. Wenn Sie noch kein Konto haben, können Sie ein kostenloses Testkonto erhalten.
Python- und API-Versionsprofile
Das Python SDK unterstützt die folgenden API-Profile:
neueste
Dieses Profil zielt auf die neuesten API-Versionen für alle Dienstanbieter in der Azure-Plattform ab.2020_09_01_hybrid
Dieses Profil zielt auf die neuesten API-Versionen für alle Ressourcenanbieter in der Azure Stack Hub-Plattform für Versionen 2102 oder höher ab.2019_03_01_hybrid
Dieses Profil zielt auf die neuesten API-Versionen für alle Ressourcenanbieter in der Azure Stack Hub-Plattform für Versionen 1904 oder höher ab.Weitere Informationen zu API-Profilen und Azure Stack Hub finden Sie unter Verwalten von API-Versionsprofilen in Azure Stack Hub.
Installieren des Azure Python SDK
Profile
Wenn Profile, die Datumsangaben enthalten, ein anderes SDK-Profil oder eine andere Version verwenden möchten, ersetzen Sie das Datum in v<date>_hybrid. For example, for the 2008 version, the profile is 2019_03_01, and the string is v2019_03_01_hybrid. Beachten Sie, dass das SDK-Team manchmal den Namen der Pakete ändert, sodass das Ersetzen des Datums einer Zeichenfolge durch ein anderes Datum möglicherweise nicht funktioniert. In der folgenden Tabelle finden Sie die Zuordnung von Profilen und Azure Stack-Versionen.
| Azure Stack-Version | Profil |
|---|---|
| 2311 | 2020_09_01 |
| 2301 | 2020_09_01 |
| 2206 | 2020_09_01 |
| 2108 | 2020_09_01 |
| 2102 | 2020_09_01 |
| 2008 | 2019_03_01 |
Weitere Informationen zu Azure Stack Hub- und API-Profilen finden Sie in der Zusammenfassung der API-Profile.
Siehe Python SDK-Profile.
Abonnement
Wenn Sie noch nicht über ein Abonnement verfügen, erstellen Sie ein Abonnement, und speichern Sie die Abonnement-ID, die später verwendet werden soll. Informationen zum Erstellen eines Abonnements finden Sie in diesem Dokument.
Service Principal
Ein Dienstprinzipal und die zugehörigen Umgebungsinformationen sollten an einer beliebigen Stelle erstellt und gespeichert werden. Dienstprinzipal mit owner Rolle wird empfohlen, aber je nach Beispiel kann eine contributor Rolle ausreichen. Weitere Informationen finden Sie in der INFODATEI im Beispiel-Repository für die erforderlichen Werte. Sie können diese Werte in jedem Format lesen, das von der SDK-Sprache unterstützt wird, z. B. aus einer JSON-Datei (die unsere Beispiele verwenden). Je nachdem, wie das Beispiel ausgeführt wird, können nicht alle diese Werte verwendet werden. Weitere Informationen finden Sie im Beispiel-Repository für aktualisierte Beispielcode oder weitere Informationen.
Mieter-ID
Um das Verzeichnis oder die Mandanten-ID für Ihren Azure Stack Hub zu finden, befolgen Sie die Anweisungen in diesem Artikel.
Registrieren von Ressourcenanbietern
Registrieren Sie die erforderlichen Ressourcenanbieter, indem Sie diesem Dokument folgen. Diese Ressourcenanbieter sind abhängig von den Beispielen erforderlich, die Sie ausführen möchten. Wenn Sie beispielsweise ein VM-Beispiel ausführen möchten, ist die Registrierung des Microsoft.Compute Ressourcenanbieters erforderlich.
Azure Stack-Ressourcen-Manager-Endpunkt
Azure Resource Manager (ARM) ist ein Verwaltungsframework, mit dem Administratoren Azure-Ressourcen bereitstellen, verwalten und überwachen können. Azure Resource Manager kann diese Aufgaben als Gruppe und nicht einzeln in einem einzigen Vorgang verarbeiten. Sie können die Metadateninformationen vom Ressourcen-Manager-Endpunkt abrufen. Der Endpunkt gibt eine JSON-Datei mit den zum Ausführen des Codes erforderlichen Informationen zurück.
- Der ResourceManagerEndpointUrl im Azure Stack Development Kit (ASDK) lautet:
https://management.local.azurestack.external/. - Der ResourceManagerEndpointUrl in integrierten Systemen lautet:
https://management.region.<fqdn>/, wo<fqdn>befindet sich Ihr vollqualifizierter Domänenname. - So rufen Sie die erforderlichen Metadaten ab:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Verfügbare API-Versionen finden Sie unter Azure Rest API-Spezifikationen. In der2020-09-01Profilversion können Sie z. B. die Option für den2019-10-01api-versionRessourcenanbietermicrosoft.resourcesändern.
JSON-Beispiel:
{
"galleryEndpoint": "https://portal.local.azurestack.external:30015/",
"graphEndpoint": "https://graph.windows.net/",
"portal Endpoint": "https://portal.local.azurestack.external/",
"authentication":
{
"loginEndpoint": "https://login.windows.net/",
"audiences": ["https://management.yourtenant.onmicrosoft.com/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
}
}
Vertrauen Sie dem Stammzertifikat der Azure Stack Hub-Zertifizierungsstelle.
Wenn Sie das ASDK verwenden, müssen Sie dem Stammzertifikat der Zertifizierungsstelle auf Ihrem Remotecomputer explizit vertrauen. Sie müssen dem Stammzertifikat der Zertifizierungsstelle nicht vertrauen, indem Sie integrierte Azure Stack Hub-Systeme verwenden.
Fenster
Suchen Sie den Speicherort des Python-Zertifikatspeichers auf Ihrem Computer. Der Speicherort kann variieren, je nachdem, wo Sie Python installiert haben. Öffnen Sie eine Eingabeaufforderung oder eine PowerShell-Eingabeaufforderung mit erhöhten Rechten, und geben Sie den folgenden Befehl ein:
python -c "import certifi; print(certifi.where())"Notieren Sie sich den Speicherort des Zertifikatspeichers; Beispiel: ~/lib/python3.5/site-packages/certifi/cacert.pem. Ihr bestimmter Pfad hängt von Ihrem Betriebssystem und der Version von Python ab, die Sie installiert haben.
Vertrauen Sie dem Stammzertifikat der Azure Stack Hub-Zertifizierungsstelle, indem Sie es an das vorhandene Python-Zertifikat anfügen:
$pemFile = "<Fully qualified path to the PEM certificate; for ex: C:\Users\user1\Downloads\root.pem>" $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $root.Import($pemFile) Write-Host "Extracting required information from the cert file" $md5Hash = (Get-FileHash -Path $pemFile -Algorithm MD5).Hash.ToLower() $sha1Hash = (Get-FileHash -Path $pemFile -Algorithm SHA1).Hash.ToLower() $sha256Hash = (Get-FileHash -Path $pemFile -Algorithm SHA256).Hash.ToLower() $issuerEntry = [string]::Format("# Issuer: {0}", $root.Issuer) $subjectEntry = [string]::Format("# Subject: {0}", $root.Subject) $labelEntry = [string]::Format("# Label: {0}", $root.Subject.Split('=')[-1]) $serialEntry = [string]::Format("# Serial: {0}", $root.GetSerialNumberString().ToLower()) $md5Entry = [string]::Format("# MD5 Fingerprint: {0}", $md5Hash) $sha1Entry = [string]::Format("# SHA1 Fingerprint: {0}", $sha1Hash) $sha256Entry = [string]::Format("# SHA256 Fingerprint: {0}", $sha256Hash) $certText = (Get-Content -Path $pemFile -Raw).ToString().Replace("`r`n","`n") $rootCertEntry = "`n" + $issuerEntry + "`n" + $subjectEntry + "`n" + $labelEntry + "`n" + ` $serialEntry + "`n" + $md5Entry + "`n" + $sha1Entry + "`n" + $sha256Entry + "`n" + $certText Write-Host "Adding the certificate content to Python Cert store" Add-Content "${env:ProgramFiles(x86)}\Python35\Lib\site-packages\certifi\cacert.pem" $rootCertEntry Write-Host "Python Cert store was updated to allow the Azure Stack Hub CA root certificate"
Hinweis
Wenn Sie virtualenv für die Entwicklung mit Python SDK verwenden, müssen Sie das vorherige Zertifikat zum Zertifikatspeicher ihrer virtuellen Umgebung hinzufügen. Der Pfad sieht möglicherweise ähnlich wie folgt aus: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.
Beispiele
In diesem Beispiel-Repository finden Sie Beispielcode für update-to-date (Track 2). In diesem Beispiel-Repository finden Sie Beispielcode zum Nachverfolgen von 1. Der Stamm README.md beschreibt allgemeine Anforderungen, und jedes Unterverzeichnis enthält ein bestimmtes Beispiel mit eigenem README.md Beispiel, das beschreibt, wie dieses Beispiel ausgeführt wird.
Hier finden Sie das Beispiel, das für Azure Stack-Version 2008 oder -Profil 2019-03-01 und unten gilt.