Použití profilů verzí rozhraní API s Pythonem ve službě Azure Stack Hub

Důležité

Sada Python SDK byla aktualizována ze skladby 1 na trasu 2. Doporučujeme migrovat na sadu Track 2 SDK co nejdříve. Pokyny najdete v tomto průvodci migrací.

Sada Python SDK podporuje profily verzí rozhraní API pro cílení na různé cloudové platformy, jako je Azure Stack Hub a globální Azure. Profily rozhraní API můžete použít při vytváření řešení pro hybridní cloud.

Pokyny v tomto článku vyžadují předplatné Microsoft Azure. Pokud ho nemáte, můžete získat bezplatný zkušební účet.

Profily verzí pythonu a rozhraní API

Sada Python SDK podporuje následující profily rozhraní API:

  • Nejnovější
    Tento profil cílí na nejnovější verze rozhraní API pro všechny poskytovatele služeb na platformě Azure.

  • 2020_09_01_hybrid
    Tento profil cílí na nejnovější verze rozhraní API pro všechny poskytovatele prostředků na platformě Azure Stack Hub pro verze 2102 nebo novější.

  • 2019_03_01_hybrid
    Tento profil cílí na nejnovější verze rozhraní API pro všechny poskytovatele prostředků na platformě Azure Stack Hub pro verze 1904 nebo novější.

    Další informace o profilech rozhraní API a službě Azure Stack Hub najdete v tématu Správa profilů verzí rozhraní API ve službě Azure Stack Hub.

Instalace sady Azure Python SDK

  1. Nainstalujte Git.
  2. Nainstalujte sadu Python SDK.

Profily

Pokud chcete použít jiný profil nebo verzi sady SDK pro profily obsahující kalendářní data, nahraďte datum v v<date>_hybridsouboru . Například pro verzi 2008 je profil a řetězec se 2019_03_01změní v2019_03_01_hybridna . Všimněte si, že tým SDK někdy změní název balíčků, takže jednoduché nahrazení data řetězce jiným datem nemusí fungovat. Přidružení profilů a verzí služby Azure Stack najdete v následující tabulce.

Verze služby 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

Další informace o službě Azure Stack Hub a profilech rozhraní API najdete v tématu Souhrn profilů rozhraní API.

Viz Profily sady Python SDK.

Předplatné

Pokud ještě předplatné nemáte, vytvořte předplatné a uložte si ID předplatného, abyste ho mohli použít později. Informace o tom, jak vytvořit předplatné, najdete v tomto dokumentu.

Instanční objekt

Instanční objekt a jeho přidružené informace o prostředí by se měly někde vytvořit a uložit. Doporučuje se instanční objekt s owner rolí, ale v závislosti na ukázce může stačit role contributor . Požadované hodnoty najdete v souboru README v ukázkovém úložišti . Tyto hodnoty můžete číst v libovolném formátu podporovaném jazykem sady SDK, například ze souboru JSON (který používají naše ukázky). V závislosti na spuštěné ukázce se nedají použít všechny tyto hodnoty. Aktualizovaný vzorový kód nebo další informace najdete v ukázkovém úložišti .

ID tenanta

Pokud chcete zjistit ID adresáře nebo tenanta pro službu Azure Stack Hub, postupujte podle pokynů v tomto článku.

Registrace poskytovatelů prostředků

Podle pokynů v tomto dokumentu zaregistrujte požadované poskytovatele prostředků. Tito poskytovatelé prostředků budou vyžadováni v závislosti na ukázkách, které chcete spustit. Pokud například chcete spustit ukázku virtuálního počítače, vyžaduje se Microsoft.Compute registrace poskytovatele prostředků.

Koncový bod Azure Stack Resource Manageru

Azure Resource Manager (ARM) je architektura pro správu, která správcům umožňuje nasazovat, spravovat a monitorovat prostředky Azure. Azure Resource Manager může tyto úlohy zpracovávat jako skupinu, nikoli jednotlivě, v rámci jedné operace. Informace o metadatech můžete získat z koncového bodu Resource Manager. Koncový bod vrátí soubor JSON s informacemi potřebnými ke spuštění kódu.

  • ResourceManagerEndpointUrl v sadě Azure Stack Development Kit (ASDK) je: https://management.local.azurestack.external/.
  • ResourceManagerEndpointUrl v integrovaných systémech je: https://management.region.<fqdn>/, kde <fqdn> je plně kvalifikovaný název domény.
  • Načtení požadovaných metadat: <ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Dostupné verze rozhraní API najdete v tématu Specifikace rozhraní Azure REST API. Například ve 2020-09-01 verzi profilu můžete změnit api-version na 2019-10-01 pro poskytovatele microsoft.resourcesprostředků .

Ukázkový KÓD 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"]
      }
}

Důvěřovat kořenovému certifikátu certifikační autority služby Azure Stack Hub

Pokud používáte sadu ASDK, musíte kořenovému certifikátu certifikační autority na vzdáleném počítači explicitně důvěřovat. Kořenový certifikát certifikační autority nemusíte důvěřovat integrovaným systémům Azure Stack Hub.

Windows

  1. Vyhledejte umístění úložiště certifikátů Pythonu na vašem počítači. Umístění se může lišit v závislosti na tom, kam jste Python nainstalovali. Otevřete příkazový řádek nebo powershellový řádek se zvýšenými oprávněními a zadejte následující příkaz:

      python -c "import certifi; print(certifi.where())"
    

    Poznamenejte si umístění úložiště certifikátů. Například ~/lib/python3.5/site-packages/certifi/cacert.pem. Konkrétní cesta závisí na operačním systému a nainstalované verzi Pythonu.

  2. Kořenovému certifikátu certifikační autority služby Azure Stack Hub důvěřujte tak, že ho připojíte ke stávajícímu certifikátu Pythonu:

    $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"
    

Poznámka

Pokud pro vývoj se sadou Python SDK používáte virtualenv , musíte do úložiště certifikátů virtuálního prostředí přidat předchozí certifikát. Cesta může vypadat nějak takto: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.

Ukázky

Ukázkový kód aktualizace (track 2) najdete v tomto ukázkovém úložišti . Ukázkový kód track 1 najdete v tomto ukázkovém úložišti . Kořen README.md popisuje obecné požadavky a každý podadresář obsahuje konkrétní ukázku s vlastním README.md , který popisuje, jak ukázku spustit.

Ukázku použitelnou pro verzi 2008 nebo profil 2019-03-01 služby Azure Stack najdete tady a níže.

Další kroky