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
Profily
Pokud chcete použít jiný profil nebo verzi sady SDK pro profily obsahující kalendářní data, nahraďte datum v v<date>_hybrid
souboru . Například pro verzi 2008 je profil a řetězec se 2019_03_01
změní v2019_03_01_hybrid
na . 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.
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 ve2020-09-01
verzi profilu můžete změnitapi-version
na2019-10-01
pro poskytovatelemicrosoft.resources
prostř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
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.
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.