API-verzióprofilok használata a Pythonnal az Azure Stack Hubban
Fontos
A Python SDK az 1. számról a 2. vágányra lett frissítve. Javasoljuk, hogy a lehető leghamarabb migráljon a 2. SDK-ra. Útmutatásért tekintse meg ezt az áttelepítési útmutatót.
A Python SDK támogatja az API-verzióprofilokat különböző felhőplatformok, például az Azure Stack Hub és a globális Azure megcélzásához. API-profilok használata hibrid felhőhöz való megoldások létrehozásához.
A cikkben található utasításokhoz Microsoft Azure-előfizetés szükséges. Ha nem rendelkezik ilyen fiókkal, ingyenes próbaverziós fiókot kaphat.
Python- és API-verzióprofilok
A Python SDK a következő API-profilokat támogatja:
legújabb
Ez a profil az Azure platform összes szolgáltatójának legújabb API-verzióit célozza meg.2020_09_01_hybrid
Ez a profil az Azure Stack Hub platform összes erőforrás-szolgáltatójának legújabb API-verzióit célozza meg a 2102-s vagy újabb verziókhoz.2019_03_01_hybrid
Ez a profil az Azure Stack Hub platform összes erőforrás-szolgáltatójának legújabb API-verzióit célozza meg az 1904-ben vagy újabb verziókban.Az API-profilokkal és az Azure Stack Hubbal kapcsolatos további információkért lásd: API-verzióprofilok kezelése az Azure Stack Hubban.
Az Azure Python SDK telepítése
Profilok
Dátumokat tartalmazó profilok esetén egy másik SDK-profil vagy -verzió használatához cserélje le a dátumot a következőben: v<date>_hybrid
. A 2008-es verzió esetében például a profil a 2019_03_01
, a sztring pedig a lesz v2019_03_01_hybrid
. Vegye figyelembe, hogy előfordulhat, hogy az SDK-csapat megváltoztatja a csomagok nevét, ezért előfordulhat, hogy egy sztring dátumának egy másik dátumra való lecserélése nem fog működni. A profilok és az Azure Stack-verziók társítását az alábbi táblázat ismerteti.
Azure Stack-verzió | 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 |
Az Azure Stack Hubról és az API-profilokról további információt az API-profilok összegzése című témakörben talál.
Lásd: Python SDK-profilok.
Előfizetés
Ha még nem rendelkezik előfizetéssel, hozzon létre egy előfizetést, és mentse a később használni kívánt előfizetés-azonosítót. Az előfizetés létrehozásával kapcsolatos további információkért lásd ezt a dokumentumot.
Szolgáltatásnév
Létre kell hozni és menteni kell egy szolgáltatásnevet és annak kapcsolódó környezeti adatait. A szerepkörrel rendelkező owner
szolgáltatásnév használata ajánlott, de a mintától függően elegendő lehet egy contributor
szerepkör. A szükséges értékekért tekintse meg a mintaadattár README elemét. Ezeket az értékeket az SDK nyelv által támogatott bármilyen formátumban elolvashatja, például egy JSON-fájlból (amelyet a minták használnak). A futtatott mintától függően nem minden érték használható. A frissített mintakódért vagy további információkért tekintse meg a mintaadattárat .
Bérlőazonosító
Az Azure Stack Hub címtárának vagy bérlőazonosítójának megkereséséhez kövesse az ebben a cikkben található utasításokat.
Erőforrás-szolgáltatók regisztrálása
A dokumentum követésével regisztrálja a szükséges erőforrás-szolgáltatókat. Ezekre az erőforrás-szolgáltatókra a futtatni kívánt mintáktól függően lesz szükség. Ha például virtuálisgép-mintát szeretne futtatni, az Microsoft.Compute
erőforrás-szolgáltató regisztrációjára van szükség.
Azure Stack Resource Manager-végpont
Az Azure Resource Manager (ARM) egy felügyeleti keretrendszer, amely lehetővé teszi a rendszergazdák számára az Azure-erőforrások üzembe helyezését, kezelését és monitorozását. Az Azure Resource Manager ezeket a feladatokat nem egyenként, hanem csoportként kezelheti egyetlen műveletben. A metaadat-adatokat a Resource Manager végpontról szerezheti be. A végpont egy JSON-fájlt ad vissza a kód futtatásához szükséges adatokkal.
- Az Azure Stack Development Kitben (ASDK) található ResourceManagerEndpointUrl a következő:
https://management.local.azurestack.external/
. - Az integrált rendszerekben a ResourceManagerEndpointUrl a következő:
https://management.region.<fqdn>/
, ahol<fqdn>
a teljes tartománynév. - A szükséges metaadatok lekéréséhez:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0
. Az elérhető API-verziókért lásd: Azure rest API-specifikációk. Például a profilverzióban2020-09-01
módosíthatja azapi-version
erőforrás-szolgáltatómicrosoft.resources
értékét2019-10-01
.
JSON-minta:
{
"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"]
}
}
Az Azure Stack Hub hitelesítésszolgáltatói főtanúsítványának megbízhatósága
Ha az ASDK-t használja, explicit módon megbízhatónak kell lennie a hitelesítésszolgáltató főtanúsítványában a távoli gépen. Nem kell megbíznia a hitelesítésszolgáltató főtanúsítványában az Azure Stack Hub integrált rendszereivel.
Windows
Keresse meg a Python-tanúsítványtároló helyét a számítógépen. A hely változhat attól függően, hogy hol telepítette a Pythont. Nyisson meg egy parancssort vagy egy emelt szintű PowerShell-parancssort, és írja be a következő parancsot:
python -c "import certifi; print(certifi.where())"
Jegyezze fel a tanúsítványtároló helyét; például ~/lib/python3.5/site-packages/certifi/cacert.pem. Az adott elérési út az operációs rendszertől és a Python telepített verziójától függ.
Bízzon meg az Azure Stack Hub hitelesítésszolgáltató főtanúsítványában, ha hozzáfűzi azt a meglévő Python-tanúsítványhoz:
$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"
Megjegyzés
Ha virtualenv-t használ a Python SDK-val való fejlesztéshez, hozzá kell adnia az előző tanúsítványt a virtuális környezet tanúsítványtárolójához. Az elérési út a következőhöz hasonló lehet: ..\mytestenv\Lib\site-packages\certifi\cacert.pem
.
Példák
Tekintse meg ezt a mintaadattárat az update-to-date (track 2) mintakódhoz. Az 1. mintakód nyomon követéséhez tekintse meg ezt a mintaadattárat . A gyökér README.md
általános követelményeket ír le, és minden alkönyvtár tartalmaz egy saját mintát README.md
, amely leírja a minta futtatásának módját.
Lásd itt az Azure Stack-verzióra 2008
vagy -profilra 2019-03-01
vonatkozó mintát, és alább.