Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktigt!
Python SDK har uppdaterats från spår 1 till spår 2. Vi rekommenderar att migrera till track 2 SDK så snart som möjligt. Anvisningar finns i den här migreringsguiden.
Python SDK stöder API-versionsprofiler för att rikta in sig på olika molnplattformar, till exempel Azure Stack Hub och globala Azure. Använd API-profiler för att skapa lösningar för ett hybridmoln.
Anvisningarna i den här artikeln kräver en Microsoft Azure-prenumeration. Om du inte har ett konto kan du få ett kostnadsfritt utvärderingskonto.
Python- och API-versionsprofiler
Python SDK stöder följande API-profiler:
senaste
Den här profilen riktar sig till de senaste API-versionerna för alla tjänstleverantörer på Azure-plattformen.2020_09_01_hybrid
Den här profilen riktar sig till de senaste API-versionerna för alla resursprovidrar i Azure Stack Hub-plattformen för version 2102 eller senare.2019_03_01_hybrid
Den här profilen riktar sig till de senaste API-versionerna för alla resursprovidrar i Azure Stack Hub-plattformen för version 1904 eller senare.Mer information om API-profiler och Azure Stack Hub finns i Hantera API-versionsprofiler i Azure Stack Hub.
Installera Azure Python SDK
Profiler
För profiler som innehåller datum ersätter du datumet i v<date>_hybridom du vill använda en annan SDK-profil eller -version. För exempelvis 2008-versionen är profilen 2019_03_01, och strängen blir v2019_03_01_hybrid. Observera att SDK-teamet ibland ändrar namnet på paketen, så att helt enkelt ersätta datumet för en sträng med ett annat datum kanske inte fungerar. Se följande tabell för association av profiler och Azure Stack-versioner.
| Azure Stack-version | 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 |
Mer information om Azure Stack Hub- och API-profiler finns i Sammanfattning av API-profiler.
Prenumeration
Om du inte redan har en prenumeration skapar du en prenumeration och sparar prenumerations-ID:t som ska användas senare. Information om hur du skapar en prenumeration finns i det här dokumentet.
Service Principal
Ett huvudnamn för tjänsten och dess associerade miljöinformation bör skapas och sparas någonstans. Tjänsthuvudman med owner roll rekommenderas, men beroende på exempel kan en contributor roll räcka. Se README i exempellagringsplatsen för de värden som krävs. Du kan läsa dessa värden i valfritt format som stöds av SDK-språket, till exempel från en JSON-fil (som våra exempel använder). Beroende på vilket exempel som körs kan inte alla dessa värden användas. Se exempellagringsplatsen för uppdaterad exempelkod eller ytterligare information.
Hyresgäst-ID
Följ anvisningarna i den här artikeln om du vill hitta katalogen eller klient-ID:t för din Azure Stack Hub.
Registrera resursprovidrar
Registrera nödvändiga resursprovidrar genom att följa det här dokumentet. Dessa resursprovidrar krävs beroende på vilka exempel du vill köra. Om du till exempel vill köra ett virtuellt datorexempel krävs registrering av Microsoft.Compute resursprovidern.
Azure Stack Resource Manager-slutpunkt
Azure Resource Manager (ARM) är ett hanteringsramverk som gör det möjligt för administratörer att distribuera, hantera och övervaka Azure-resurser. Azure Resource Manager kan hantera dessa uppgifter som en grupp, snarare än individuellt, i en enda åtgärd. Du kan hämta metadatainformationen från Resource Manager-slutpunkten. Slutpunkten returnerar en JSON-fil med den information som krävs för att köra koden.
-
ResourceManagerEndpointUrl i Azure Stack Development Kit (ASDK) är:
https://management.local.azurestack.external/. -
ResourceManagerEndpointUrl i integrerade system är:
https://management.region.<fqdn>/, där<fqdn>är ditt fullständigt kvalificerade domännamn. - Så här hämtar du de metadata som krävs:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Tillgängliga API-versioner finns i Specifikationer för Azure rest API. I profilversionen2020-09-01kan du t.ex. ändraapi-versiontill2019-10-01för resursleverantörenmicrosoft.resources.
Exempel på 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"]
}
}
Lita på Azure Stack Hub CA-rotcertifikatet
Om du använder ASDK måste du uttryckligen lita på CA-rotcertifikatet på fjärrdatorn. Du behöver inte lita på CA-rotcertifikatet med integrerade Azure Stack Hub-system.
Windows
Hitta platsen för Python-certifikatarkivet på datorn. Platsen kan variera beroende på var du installerade Python. Öppna en kommandotolk eller en upphöjd PowerShell-prompt och skriv följande kommando:
python -c "import certifi; print(certifi.where())"Anteckna platsen för certifikatarkivet. till exempel ~/lib/python3.5/site-packages/certifi/cacert.pem. Din specifika sökväg beror på operativsystemet och vilken version av Python du har installerat.
Lita på Azure Stack Hub CA-rotcertifikatet genom att lägga till det i det befintliga Python-certifikatet:
$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"
Anmärkning
Om du använder virtualenv för att utveckla med Python SDK måste du lägga till det tidigare certifikatet i certifikatarkivet för den virtuella miljön. Sökvägen kan se ut ungefär så här: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.
Exempel
Se detta exempelarkiv för uppdaterad (spår 2) exempelkod. Se den här exempellagringsplatsen för spår 1-exempelkod. Roten README.md beskriver allmänna krav och varje underkatalog innehåller ett specifikt exempel med ett eget README.md som beskriver hur du kör exemplet.
Här finns det exempel som gäller för Azure Stack-versionen 2008 eller profilen 2019-03-01 och nedan.