Hantera Python 2-paket i Azure Automation

Den här artikeln beskriver hur du importerar, hanterar och använder Python 2-paket i Azure Automation som körs i Sandbox-miljön i Azure och Hybrid Runbook Workers. För att förenkla runbookflöden kan du använda Python-paket och importera de moduler du behöver.

Information om hur du hanterar Python 3-paket finns i Hantera Python 3-paket.

Importera paket

  1. Från ditt Automation-konto väljer du Python-paket under Delade resurser. Välj och Lägg till ett Python-paket.

    Screenshot of the Python packages page shows Python packages in the left menu and Add a Python package highlighted.

  2. På sidan Lägg till Python-paket väljer du ett lokalt paket att ladda upp. Paketet kan vara en .whl- eller .tar.gz-fil .

  3. Ange namnet och välj Runtime-versionen som 2.x.x

  4. Välj Importera.

    Screenshot shows the Add Python Package page with an uploaded tar.gz file selected.

När ett paket har importerats visas det på sidan Python-paket i ditt Automation-konto. Om du vill ta bort ett paket markerar du det och väljer sedan Ta bort.

Screenshot shows the Python 2.7.x packages page after a package has been imported.

Importera paket med beroenden

Azure Automation löser inte beroenden för Python-paket under importen. Det finns två sätt att importera ett paket med alla dess beroenden. Du behöver bara följa ett av följande steg för att importera paketen till ditt Automation-konto.

Ladda ned manuellt

På en Windows 64-bitarsdator med Python2.7 och pip installerat kör du följande kommando för att ladda ned ett paket och alla dess beroenden:

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

När paketen har laddats ned kan du importera dem till ditt Automation-konto.

Runbook

Om du vill hämta en runbook importerar du Python 2-paket från pypi till Azure Automation-konto från Azure Automation GitHub-organisationen till ditt Automation-konto. Kontrollera att körningsinställningarna är inställda på Azure och starta runbooken med parametrarna. Hanterad identitet måste vara aktiverat för ditt Automation-konto och ha Automation-deltagaråtkomst för att paketet ska kunna importeras. Du måste starta varje parameter med växeln i följande lista och bild:

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

Screenshot shows the Overview page for import_py2package_from_pypi with the Start Runbook pane on the right side.

Med runbooken kan du ange vilket paket som ska laddas ned. Användning av parametern Azure laddar till exempel ned alla Azure-moduler och alla beroenden (cirka 105). När runbooken är klar kan du kontrollera Python-paketen under Delade resurser i ditt Automation-konto för att se efter om paketet har importerats som det ska.

Använda ett paket i en runbook

När ett paket har importerats kan du använda det i en runbook. Lägg till följande kod för att lista alla resursgrupper i en Azure-prenumeration:

#!/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 

Utveckla och testa runbooks offline

Om du vill utveckla och testa dina Python 2-runbooks offline kan du använda modulen Azure Automation Python emulerade tillgångar på GitHub. Med den här modulen kan du referera till dina delade resurser, till exempel autentiseringsuppgifter, variabler, anslutningar och certifikat.

Nästa steg

Information om hur du förbereder en Python-runbook finns i Skapa en Python-runbook.