Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Artikeln visar hur du importerar, hanterar och använder Python-paket i Azure Automation som körs i Azures sandbox-miljö och Hybrid Runbook Workers. Python-paket bör laddas ned på Hybrid Runbook Workers för att jobben ska kunna slutföras. För att förenkla runbookflöden kan du använda Python-paket och importera de moduler du behöver.
Anmärkning
Azure Automation möjliggör återställning av runbooks som tagits bort under de senaste 29 dagarna. Du kan återställa den borttagna runbooken genom att köra ett PowerShell-skript som ett jobb i ditt Automation-konto. Mer information finns i Återställa borttagen runbook.
Importera Python 2-paket
Från ditt Automation-konto väljer du Python-paket under Delade resurser. Välj och Lägg till ett Python-paket.
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 .
Ange namnet och välj körningsversionen som 2.x.x.
Välj Importera.
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.
Importera paket med beroenden
Azure Automation löser inte beroenden för Python-paket under importen. Använd någon av följande metoder för att importera ett paket med alla dess beroenden.
Metod 1: Ladda ned manuellt
På en Windows 64-bitarsdator med Python 2.7 och paketinstallationsprogrammet för Python (pip) laddar du ned ett paket och alla dess beroenden genom att köra följande kommando:
C:\Python27\Scripts\pip2.7.exe download -d <output-directory> <package-name>
När paketen och alla dess beroenden har laddats ned kan du importera dem till ditt Automation-konto.
Metod 2: Använd en runbook
Om du vill hämta en runbook importerar du Python 2-paket från pypi till Azure Automation-kontot.
När du startar runbooken kontrollerar du följande:
Alternativet Kör på under Kör inställningar är inställt på Azure.
Körboken startas med följande parametrar, och var och en av parametrarna definieras med en
switch.- -s <subscriptionId>
- -g <resourceGroup>
- -a <automationkonto>
- -m <modulePackage>
Med runbooken kan du ange vilket paket som ska laddas ned. Ange till exempel parametern
-mtillAzureför att ladda ned alla Azure-moduler och alla beroenden (cirka 105 paket).Runbooken kräver en hanterad identitet för att Automation-kontot ska fungera.
När runbook-körningen är klar kan du kontrollera Python-paketen under Delade resurser i ditt Automation-konto för att kontrollera att paketet har importerats korrekt.
Python 3-standardpaket
För att stödja Python 3.8-runbooks i Automation-tjänsten installeras vissa Python-paket som standard. Mer information finns i Python-standardpaket. Du kan åsidosätta standardversionen genom att importera Python-paket till ditt Automation-konto. Den importerade versionen föredras i ditt Automation-konto. Information om hur du importerar ett enskilt paket finns i Importera ett Python 3-paket. Information om hur du importerar ett paket med flera paket finns i Importera ett Python 3-paket med beroenden.
Anmärkning
Python 3.10 (förhandsversion) har inte standardpaket installerade.
Importera ett Python 3-paket
Från ditt Automation-konto väljer du Python-paket under Delade resurser. Välj sedan + Lägg till ett Python-paket.
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 för Python 3.8 och en .whl-fil för Python 3.10 (förhandsversion).
Skriv ett namn och välj Körningsversion som Python 3.8 eller Python 3.10 (förhandsversion).
Välj Importera.
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.
Importera ett Python 3-paket med beroenden
Du kan importera ett Python 3.8-paket och dess beroenden genom att importera Python-skriptet import_py3package_from_pypi.py till en Python 3.8-runbook. Kontrollera att en hanterad identitet är aktiverad för ditt Automation-konto och har Automation Contributor-åtkomst för att importera paketet.
Importera skriptet till en runbook
Mer information om hur du importerar runbook finns i Importera en runbook från Azure-portalen. Kopiera filen från GitHub till lagring som Azure-portalen kan komma åt innan du kör importen.
På sidan Importera en runbook anges runbook-namnet som standard så att det matchar skriptets namn. Om du har åtkomst till fältet kan du ändra namnet. Runbook-typen kan som standard vara Python 2.7. I så fall måste du ändra den till Python 3.8.
Kör runbooken för att importera paketet och beroenden
När du har skapat och publicerat runbooken kör du den för att importera paketet. Mer information om hur du kör en runbook finns i Starta en runbook i Azure Automation.
Skriptet (import_py3package_from_pypi.py) kräver följande parametrar.
| Parameter | Beskrivning |
|---|---|
subscription_id |
Prenumerations-id för Automation-kontot |
resource_group |
Namnet på resursgruppen där Automation-kontot har definierats |
automation_account |
Namn på Automation-konto |
module_name |
Namnet på modulen som ska importeras från pypi.org |
module_version |
Modulens version |
Parametervärdet ska anges som en enskild sträng i följande format:
-s <subscription_id> -g <resource_group> -a<automation_account> -m <module_name> -v <module_version>
Scenario: Runbook kan inte köras. Följande fel visas: Parameterlängden har överskridits
Din runbook som använder dessa parametrar misslyckas och ger följande felmeddelande:
Total längd på Runbook-parameternamn och -värden överskrider gränsen på 30 000 tecken. Undvik det här problemet genom att använda Automation-variabler för att skicka värden till runbook.
Orsak
Runbooks för Python 2.7, Python 3.8 och PowerShell 7.1 har en gräns för den totala längden på tecken för alla angivna parametrar. Den totala längden på alla parameternamn och värden får inte överstiga 30 000 tecken.
Lösning / Beslut
Lös problemet genom att använda Azure Automation-variabler för att skicka värden till runbooken eller förkorta parameternamn och värden så att de inte överstiger totalt 30 000 tecken.