Używanie profilów wersji interfejsu API z językiem Python w usłudze Azure Stack Hub
Ważne
Zestaw SDK języka Python został zaktualizowany z ścieżki 1 do śledzenia 2. Zalecamy jak najszybsze przeprowadzenie migracji do zestawu SDK 2. Aby uzyskać instrukcje, zobacz ten przewodnik po migracji.
Zestaw SDK języka Python obsługuje profile wersji interfejsu API przeznaczone dla różnych platform w chmurze, takich jak Azure Stack Hub i globalna platforma Azure. Użyj profilów interfejsu API w tworzeniu rozwiązań dla chmury hybrydowej.
Instrukcje opisane w tym artykule wymagają subskrypcji platformy Microsoft Azure. Jeśli go nie masz, możesz uzyskać bezpłatne konto w wersji próbnej.
Profile wersji języka Python i interfejsu API
Zestaw SDK języka Python obsługuje następujące profile interfejsu API:
Najnowsza
Ten profil jest przeznaczony dla najnowszych wersji interfejsu API dla wszystkich dostawców usług na platformie Azure.2020_09_01_hybrid
Ten profil jest przeznaczony dla najnowszych wersji interfejsu API dla wszystkich dostawców zasobów na platformie Azure Stack Hub w wersji 2102 lub nowszej.2019_03_01_hybrid
Ten profil jest przeznaczony dla najnowszych wersji interfejsu API dla wszystkich dostawców zasobów na platformie Azure Stack Hub w wersji 1904 lub nowszej.Aby uzyskać więcej informacji na temat profilów interfejsu API i usługi Azure Stack Hub, zobacz Zarządzanie profilami wersji interfejsu API w usłudze Azure Stack Hub.
Instalowanie zestawu Azure Python SDK
Profile
W przypadku profilów zawierających daty użyj innego profilu lub wersji zestawu SDK, zastąp datę w pliku v<date>_hybrid
. Na przykład w wersji 2008 profil to 2019_03_01
, a ciąg staje się ciągiem v2019_03_01_hybrid
. Należy pamiętać, że czasami zespół zestawu SDK zmienia nazwę pakietów, więc po prostu zastąpienie daty ciągu inną datą może nie działać. Zapoznaj się z poniższą tabelą, aby zapoznać się z skojarzeniem profilów i wersji usługi Azure Stack.
Wersja usługi Azure Stack | 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 |
Aby uzyskać więcej informacji na temat profilów usługi Azure Stack Hub i interfejsu API, zobacz Podsumowanie profilów interfejsu API.
Zobacz Profile zestawu SDK języka Python.
Subskrypcja
Jeśli nie masz jeszcze subskrypcji, utwórz subskrypcję i zapisz identyfikator subskrypcji do późniejszego użycia. Aby uzyskać informacje na temat tworzenia subskrypcji, zobacz ten dokument.
Jednostka usługi
Jednostka usługi i skojarzone z nią informacje o środowisku powinny zostać utworzone i zapisane gdzieś. Zalecana jest jednostka usługi z rolą owner
, ale w zależności od próbki contributor
rola może wystarczyć. Zapoznaj się z plikiem README w przykładowym repozytorium , aby uzyskać wymagane wartości. Te wartości można odczytać w dowolnym formacie obsługiwanym przez język zestawu SDK, na przykład z pliku JSON (którego używają nasze przykłady). W zależności od przebiegu próbki nie można użyć wszystkich tych wartości. Zobacz przykładowe repozytorium , aby uzyskać zaktualizowany przykładowy kod lub więcej informacji.
Identyfikator dzierżawy
Aby znaleźć katalog lub identyfikator dzierżawy usługi Azure Stack Hub, postępuj zgodnie z instrukcjami w tym artykule.
Rejestrowanie dostawców zasobów
Zarejestruj wymaganych dostawców zasobów, postępując zgodnie z tym dokumentem. Ci dostawcy zasobów będą zobowiązani w zależności od przykładów, które chcesz uruchomić. Jeśli na przykład chcesz uruchomić przykładową maszynę wirtualną, Microsoft.Compute
wymagana jest rejestracja dostawcy zasobów.
Punkt końcowy usługi Azure Stack Resource Manager
Azure Resource Manager (ARM) to struktura zarządzania, która umożliwia administratorom wdrażanie i monitorowanie zasobów platformy Azure oraz zarządzanie nimi. Usługa Azure Resource Manager może obsługiwać te zadania jako grupę, a nie pojedynczo w ramach jednej operacji. Informacje o metadanych można uzyskać z punktu końcowego Resource Manager. Punkt końcowy zwraca plik JSON z informacjami wymaganymi do uruchomienia kodu.
-
Element ResourceManagerEndpointUrl w zestawie Azure Stack Development Kit (ASDK) to:
https://management.local.azurestack.external/
. -
Element ResourceManagerEndpointUrl w zintegrowanych systemach to:
https://management.region.<fqdn>/
, gdzie<fqdn>
jest w pełni kwalifikowaną nazwą domeny. - Aby pobrać wymagane metadane:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0
. Aby uzyskać informacje o dostępnych wersjach interfejsu API, zobacz Specyfikacje interfejsu API REST platformy Azure. Na przykład w2020-09-01
wersji profilu można zmienić wartość naapi-version
2019-10-01
dla dostawcymicrosoft.resources
zasobów .
Przykładowy kod JSON:
{
"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"]
}
}
Ufaj certyfikatowi głównemu urzędu certyfikacji usługi Azure Stack Hub
Jeśli używasz zestawu ASDK, musisz jawnie ufać certyfikatowi głównemu urzędu certyfikacji na maszynie zdalnej. Nie musisz ufać certyfikatowi głównemu urzędu certyfikacji w zintegrowanych systemach usługi Azure Stack Hub.
Windows
Znajdź lokalizację magazynu certyfikatów języka Python na maszynie. Lokalizacja może się różnić w zależności od lokalizacji zainstalowanego języka Python. Otwórz wiersz polecenia lub wiersz polecenia programu PowerShell z podwyższonym poziomem uprawnień i wpisz następujące polecenie:
python -c "import certifi; print(certifi.where())"
Zanotuj lokalizację magazynu certyfikatów; na przykład ~/lib/python3.5/site-packages/certifi/cacert.pem. Określona ścieżka zależy od systemu operacyjnego i zainstalowanej wersji języka Python.
Ufaj certyfikatowi głównemu urzędu certyfikacji usługi Azure Stack Hub, dołączając go do istniejącego certyfikatu języka Python:
$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"
Uwaga
Jeśli używasz programu virtualenv do tworzenia za pomocą zestawu SDK języka Python, musisz dodać poprzedni certyfikat do magazynu certyfikatów środowiska wirtualnego. Ścieżka może wyglądać podobnie do: ..\mytestenv\Lib\site-packages\certifi\cacert.pem
.
Przykłady
Zobacz to przykładowe repozytorium, aby uzyskać przykładowy kod aktualizacji (śledzenie 2). Zobacz to przykładowe repozytorium, aby śledzić 1 przykładowy kod. Katalog główny README.md
opisuje ogólne wymagania, a każdy podkatalog zawiera konkretny przykład z własnym README.md
opisem sposobu uruchamiania tego przykładu.
Zobacz tutaj, aby zapoznać się z przykładową wersją lub profilem 2019-03-01
usługi Azure Stack 2008
i poniżej.