Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Python SDK è stato aggiornato dalla traccia 1 alla traccia 2. È consigliabile eseguire la migrazione al track 2 SDK il prima possibile. Per istruzioni, vedere questa guida alla migrazione.
Python SDK supporta i profili di versione dell'API per usare piattaforme cloud diverse, ad esempio l'hub di Azure Stack e Azure globale. Usare i profili API per la creazione di soluzioni per un cloud ibrido.
Le istruzioni contenute in questo articolo richiedono una sottoscrizione di Microsoft Azure. Se non ne hai uno, puoi ottenere un account di valutazione gratuito.
Profili di versione di Python e API
Python SDK supporta i profili API seguenti:
più recente
Questo profilo è destinato alle versioni API più recenti per tutti i provider di servizi nella piattaforma Azure.2020_09_01_hybrid
Questo profilo è destinato alle versioni più recenti dell'API per tutti i provider di risorse nella piattaforma hub di Azure Stack per le versioni 2102 o successive.2019_03_01_hybrid
Questo profilo è destinato alle versioni più recenti dell'API per tutti i provider di risorse nella piattaforma hub di Azure Stack per le versioni 1904 o successive.Per altre informazioni sui profili API e sull'hub di Azure Stack, vedere Gestire i profili di versione dell'API nell'hub di Azure Stack.
Installare Azure Python SDK
Profili
Per i profili contenenti date, per usare un profilo o una versione SDK diversa, sostituire la data in v<date>_hybrid. Ad esempio, per la versione 2008, il profilo è 2019_03_01e la stringa diventa v2019_03_01_hybrid. Si noti che a volte il team SDK modifica il nome dei pacchetti, quindi la semplice sostituzione della data di una stringa con una data diversa potrebbe non funzionare. Vedere la tabella seguente per l'associazione di profili e versioni di Azure Stack.
| Versione di Azure Stack | Profilo |
|---|---|
| 2311 | 01/09/2020 |
| 2301 | 2020.09.01 |
| 2206 | 01/09/2020 |
| 2108 | 01/09/2020 |
| 2102 | 01/09/2020 |
| 2008 | 01/03/2019 |
Per altre informazioni sull'hub di Azure Stack e sui profili API, vedere Riepilogo dei profili API.
Consulta Python SDK Profiles.
Abbonamento
Se non si ha già una sottoscrizione, creare una sottoscrizione e salvare l'ID sottoscrizione da usare in un secondo momento. Per informazioni su come creare una sottoscrizione, vedere questo documento.
Service Principal
Bisogna creare un principale di servizio e salvare da qualche parte le informazioni sull'ambiente associate. È consigliabile usare un'entità servizio con il ruolo owner, ma a seconda del contesto può essere sufficiente il ruolo contributor. Per i valori richiesti, vedere il README nel repository di esempio. È possibile leggere questi valori in qualsiasi formato supportato dal linguaggio SDK, ad esempio da un file JSON (usato dagli esempi). A seconda dell'esempio in esecuzione, non tutti questi valori possono essere usati. Consultare il repository di esempio per il codice di esempio aggiornato o ulteriori informazioni.
ID del locatario
Per trovare la directory o l'ID tenant per l'hub di Azure Stack, seguire le istruzioni riportate in questo articolo.
Registrare i fornitori di risorse
Registrare i provider di risorse necessari seguendo questo documento. Questi provider di risorse saranno necessari a seconda degli esempi da eseguire. Ad esempio, se si vuole eseguire un esempio di macchina virtuale, è necessaria la registrazione del Microsoft.Compute provider di risorse.
Endpoint di Azure Stack Resource Manager
Azure Resource Manager (ARM) è un framework di gestione che consente agli amministratori di distribuire, gestire e monitorare le risorse di Azure. Azure Resource Manager può gestire queste attività come gruppo, anziché singolarmente, in una singola operazione. È possibile ottenere le informazioni sui metadati dall'endpoint di Resource Manager. L'endpoint restituisce un file JSON con le informazioni necessarie per eseguire il codice.
- Il ResourceManagerEndpointUrl in il Azure Stack Development Kit (ASDK) è:
https://management.local.azurestack.external/. -
ResourceManagerEndpointUrl nei sistemi integrati è :
https://management.region.<fqdn>/, dove<fqdn>è il nome di dominio completo. - Per recuperare i metadati necessari:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Per le versioni api disponibili, vedere Specifiche dell'API REST di Azure. Ad esempio, nella versione2020-09-01del profilo, è possibile modificare ilapi-versionin2019-10-01per il provider di risorsemicrosoft.resources.
JSON di esempio:
{
"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"]
}
}
Considerare attendibile il certificato radice della CA dell'hub di Azure Stack
Se si utilizza l'ASDK, è necessario esprimere esplicitamente fiducia nel certificato radice della CA sul computer remoto. Non è necessario considerare attendibile il certificato radice della CA con i sistemi integrati dell'hub di Azure Stack.
Finestre
Trova il percorso dell'archivio certificati Python nel computer. La posizione può variare, a seconda di dove è installato Python. Aprire un prompt dei comandi o un prompt di PowerShell con privilegi elevati e digitare il comando seguente:
python -c "import certifi; print(certifi.where())"Prendere nota del percorso dell'archivio certificati; Ad esempio, ~/lib/python3.5/site-packages/certifi/cacert.pem. Il percorso specifico dipende dal sistema operativo e dalla versione di Python installata.
Considerare attendibile il certificato radice dell'Autorità di Certificazione (CA) dell'hub di Azure Stack aggiungendolo al certificato esistente di Python.
$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"
Annotazioni
Se si usa virtualenv per lo sviluppo con Python SDK, è necessario aggiungere il certificato precedente all'archivio certificati dell'ambiente virtuale. Il percorso potrebbe essere simile al seguente: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.
Esempi
Consulta questo repository di esempio per il codice di esempio aggiornato (track 2). Consultare questo repository di esempio per il codice di esempio per il track 1. La radice README.md descrive i requisiti generali e ogni sottodirectory contiene un esempio specifico con il proprio README.md che descrive come eseguire tale esempio.
Vedere qui per l'esempio applicabile per la versione 2008 o il profilo 2019-03-01 di Azure Stack e di seguito.