Gestire pacchetti Python 2 in Automazione di Azure

Questo articolo descrive come importare, gestire e usare pacchetti Python 2 in Automazione di Azure in esecuzione nell'ambiente sandbox di Azure e nei ruoli di lavoro ibridi per runbook. Per favorire la semplificazione dei runbook, è possibile importare i moduli necessari usando pacchetti Python.

Per informazioni sulla gestione dei pacchetti Python 3, vedere Gestire pacchetti Python 3.

Importare pacchetti

  1. Nell'account di Automazione selezionare Pacchetti Python in Risorse condivise. Selezionare + Aggiungi un pacchetto Python.

    Screenshot della pagina Pacchetti Python che mostra i pacchetti Python nel menu a sinistra e Aggiungi un pacchetto Python evidenziato.

  2. Nella pagina Aggiungi pacchetto Python selezionare un pacchetto locale da caricare. Il pacchetto può essere un file con estensione whl o tar.gz.

  3. Immettere il nome e selezionare la versione di runtime come 2.x.x

  4. Selezionare Importa.

    Screenshot che mostra la pagina Aggiungi pacchetto Python con un file tar.gz caricato selezionato.

Dopo l'importazione di un pacchetto, viene elencato nella pagina Pacchetti Python nell'account di Automazione. Per rimuovere un pacchetto, selezionarlo e fare clic su Elimina.

Screenshot che mostra la pagina pacchetti Python 2.7.x dopo l'importazione di un pacchetto.

Importare pacchetti con dipendenze

Automazione di Azure non risolve le dipendenze per i pacchetti Python durante il processo di importazione. Esistono due modi per importare un pacchetto con tutte le relative dipendenze. Per importare i pacchetti nell'account di Automazione è necessario usare solo uno dei passaggi seguenti.

Download manuale

In un computer Windows a 64 bit con Python 2.7 e pip installato, eseguire questo comando per scaricare un pacchetto e tutte le relative dipendenze:

C:\Python27\Scripts\pip2.7.exe download -d <output dir> <package name>

Dopo aver scaricato i pacchetti, è possibile importarli nell'account di Automazione.

Runbook

Per ottenere un runbook, importare i pacchetti Python 2 da pypi nell'account di Automazione di Azure dal GitHub dell’organizzazione relativo ad Automazione di Azure nell’account di Automazione. Verificare che le impostazioni di esecuzione siano impostate su Azure e avviare il runbook con i parametri. È necessario assicurarsi che l'identità gestita sia abilitata per l'account di Automazione e disponga di autorizzazioni di Collaboratore Automazione per l'importazione corretta del pacchetto. Assicurarsi di avviare ogni parametro con l'opzione come illustrato nell'elenco e nell'immagine seguenti:

  • -s <subscriptionId>
  • -g <resourceGroup>
  • -a <automationAccount>
  • -m <modulePackage>

Screenshot che mostra la pagina Panoramica per import_py2package_from_pypi con il riquadro Avvia runbook sul lato destro.

Il runbook consente di specificare il pacchetto da scaricare. Ad esempio, l'uso del parametro Azure scarica tutti i moduli di Azure e tutte le dipendenze (circa 105). Al termine del runbook è possibile controllare Pacchetti Python in Risorse condivise nell'account di Automazione per verificare che il pacchetto sia stato importato correttamente.

Usare un pacchetto in un runbook

Un pacchetto importato può essere usato in un runbook. Aggiungere il codice seguente per elencare tutti i gruppi di risorse in una sottoscrizione di Azure:

#!/usr/bin/env python 
import os 
import requests 
# printing environment variables 
endPoint = os.getenv('IDENTITY_ENDPOINT') + "?resource=https://management.azure.com/" 
identityHeader = os.getenv('IDENTITY_HEADER') 
payload = {} 
headers = { 
    'X-IDENTITY-HEADER': identityHeader, 
    'Metadata': 'True' 
} 
response = requests.request("GET", endPoint, headers=headers, data=payload) 
print response.text 

Sviluppare e testare i runbook offline

Per sviluppare e testare i runbook Python 2 offline, è possibile usare il modulo Azure Automation Python emulated assets in GitHub. Questo modulo consente di fare riferimento alle risorse condivise, ad esempio credenziali, variabili, connessioni e certificati.

Passaggi successivi

Per preparare un runbook Python, vedere Creare un runbook di Python.