Python 2-pakketten beheren in Azure Automation

In dit artikel wordt beschreven hoe u Python 2-pakketten importeert, beheert en gebruikt in Azure Automation wordt uitgevoerd in de Azure-sandboxomgeving en Hybrid Runbook Workers. Om runbooks te vereenvoudigen, kunt u Python-pakketten gebruiken om de modules te importeren die u nodig hebt.

Zie Python 3-pakketten beheren voor meer informatie over het beheren van Python 3-pakketten.

Pakketten importeren

  1. Selecteer in uw Automation-account Python-pakketten onder Gedeelde resources. Klik op + Een Python-pakket toevoegen.

    Schermopname van de pagina Python-pakketten toont Python-pakketten in het linkermenu en Een Python-pakket toevoegen gemarkeerd.

  2. Selecteer op de pagina Python-pakket toevoegen een lokaal pakket dat u wilt uploaden. Het pakket kan een .whl- of .tar.gz-bestand zijn.

  3. Voer de naam in en selecteer runtime versie 2.x.x

  4. Selecteer Importeren.

    Schermopname van de pagina Python-pakket toevoegen met een geüpload tar.gz-bestand geselecteerd.

Nadat een pakket is geïmporteerd, wordt het weergegeven op de pagina Python-pakketten in uw Automation-account. Als u een pakket wilt verwijderen, selecteert u het pakket en klikt u op Verwijderen.

Schermopname van de pagina Python 2.7.x-pakketten nadat een pakket is geïmporteerd.

Pakketten met afhankelijkheden importeren

Tijdens het importproces worden afhankelijkheden voor Python-pakketten niet door Azure Automation opgelost. Er zijn twee manieren om een pakket met alle afhankelijkheden te importeren. Er hoeft slechts een van de volgende stappen te worden gebruikt om de pakketten in uw Automation-account te importeren.

Handmatig downloaden

Voer op Windows 64-bits computer met Python2.7 en pip geïnstalleerd de volgende opdracht uit om een pakket en alle afhankelijkheden ervan te downloaden:

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

Zodra de pakketten zijn gedownload, kunt u ze importeren in uw Automation-account.

Runbook

Als u een runbook wilt verkrijgen, importeert u Python 2-pakketten van pypi in Azure Automation-account van de Azure Automation GitHub-organisatie in uw Automation-account. Zorg ervoor dat run Instellingen zijn ingesteld op Azure en start het runbook met de parameters. Voor het runbook is een Uitvoeren als-account vereist om het Automation-account te laten werken. Zorg ervoor dat u voor elke parameter begint met de switch, zoals wordt weergegeven in de volgende lijst en afbeelding:

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

Schermopname van de pagina Overzicht voor import_py2package_from_pypi met het deelvenster Runbook starten aan de rechterkant.

Met het runbook kunt u opgeven welk pakket u wilt downloaden. Als u bijvoorbeeld de Azure parameter gebruikt, worden alle Azure-modules en alle afhankelijkheden gedownload (ongeveer 105).

Nadat het runbook is voltooid, kunt u de Python-pakketten onder Gedeelde resources in uw Automation-account controleren om te controleren of het pakket correct is geïmporteerd.

Een pakket in een runbook gebruiken

Wanneer een pakket is geïmporteerd, kunt u het gebruiken in een runbook. In het volgende voorbeeld wordt het Azure Automation hulpprogrammapakket gebruikt. Dit pakket maakt het eenvoudiger om Python te gebruiken met Azure Automation. Als u het pakket wilt gebruiken, volgt u de instructies in GitHub opslagplaats en voegt u het toe aan het runbook. U kunt bijvoorbeeld gebruiken om de from azure_automation_utility import get_automation_runas_credential functie te importeren voor het ophalen van het Uitvoeren als-account.

import azure.mgmt.resource
import automationassets
from azure_automation_utility import get_automation_runas_credential

# Authenticate to Azure using the Azure Automation RunAs service principal
runas_connection = automationassets.get_automation_connection("AzureRunAsConnection")
azure_credential = get_automation_runas_credential()

# Intialize the resource management client with the RunAs credential and subscription
resource_client = azure.mgmt.resource.ResourceManagementClient(
    azure_credential,
    str(runas_connection["SubscriptionId"]))

# Get list of resource groups and print them out
groups = resource_client.resource_groups.list()
for group in groups:
    print group.name

Notitie

Het Python-pakket is niet beschikbaar op pypi.org en kan dus niet worden geïmporteerd op automationassets een Windows machine.

Runbooks offline ontwikkelen en testen

Als u uw Python 2-runbooks offline wilt ontwikkelen en testen, kunt u de module Azure Automation met Python geëmuleerde assets op GitHub. In deze module kunt u verwijzen naar uw gedeelde resources, zoals referenties, variabelen, verbindingen en certificaten.

Volgende stappen

Zie Een Python-runbook maken om een Python-runbook voor te bereiden.