Share via


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

  1. Telepítse a Gitet.
  2. Telepítse a Python SDK-t.

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óban 2020-09-01 módosíthatja az api-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

  1. 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.

  2. 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.

Következő lépések