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.

    Skärmbild av sidan Python-paket som visar Python-paket på den vänstra menyn och Lägg till ett Python-paket markerat.

  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.

    Skärmbild som visar sidan Lägg till Python-paket med en uppladdad tar.gz fil markerad.

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.

Skärmbild som visar sidan Python 2.7.x-paket när ett paket har importerats.

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>

Skärmbild som visar sidan Översikt för import_py2package_from_pypi med fönstret Starta runbook till höger.

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.