Verwalten von Python 2-Paketen in Azure Automation

In diesem Artikel wird beschrieben, wie Sie Python 2-Pakete in Azure Automation, das in der Azure-Sandboxumgebung und auf Hybrid Runbook Workern ausgeführt wird, importieren, verwalten und verwenden. Zur Vereinfachung von Runbooks können Sie Python-Pakete verwenden, um die benötigten Module zu importieren.

Informationen zum Verwalten von Python 3-Paketen finden Sie unter Verwalten von Python 3-Paketen.

Importieren von Paketen

  1. Wählen Sie in Ihrem Azure Automation-Konto unter Python-Pakete die Option Freigegebene Ressourcen aus. Wählen Sie + Python-Paket hinzufügen aus.

    Screenshot: Seite „Python-Pakete“ mit Python-Paketen im linken Menü und Hervorhebung von „Python-Paket hinzufügen“

  2. Wählen Sie auf der Seite Python-Paket hinzufügen ein lokales Paket für den Upload aus. Das Paket kann eine Datei im Format .whl oder .tar.gz sein.

  3. Geben Sie den Namen ein, und wählen Sie für die Runtimeversion entsprechend 2.x.x aus.

  4. Klicken Sie auf Importieren.

    Screenshot: Seite „Python-Paket hinzufügen“ mit Auswahl der hochgeladenen Datei „tar.gz“

Nachdem ein Paket importiert wurde, wird es in Ihrem Automation-Konto auf der Seite Python-Pakete aufgelistet. Um ein Paket zu entfernen, wählen Sie das Paket und dann Löschen aus.

Screenshot: Seite „Python 2.7.x-Pakete“ nach Import eines Pakets

Importieren von Paketen mit Abhängigkeiten

Azure Automation löst Abhängigkeiten für Python-Pakete während des Importvorgangs nicht auf. Es gibt zwei Möglichkeiten, um ein Paket mit allen seinen Abhängigkeiten zu importieren. Nur einer der folgenden Schritte muss verwendet werden, um die Pakete in Ihr Automation-Konto zu importieren.

Manuelles Herunterladen

Führen Sie auf einem Windows-Computer (64-Bit), auf dem Python2.7 und pip installiert sind, den folgenden Befehl aus, um ein Paket mit allen seinen Abhängigkeiten herunterzuladen:

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

Sobald die Pakete heruntergeladen sind, können Sie sie in Ihr Azure Automation-Konto importieren.

Runbook

Um ein Runbook zu erhalten, importieren Sie aus der Azure Automation-GitHub-Organisation Python 2-Pakete aus pypi in Ihr Azure Automation-Konto. Stellen Sie sicher, dass die Ausführungseinstellungen auf Azure festgelegt sind, und starten Sie das Runbook mit den Parametern. Stellen Sie sicher, dass verwaltete Identität für Ihr Automation-Konto aktiviert ist und über Zugriff als Automation-Mitwirkender verfügt, um das Paket erfolgreich zu importieren. Für jeden Parameter stellen Sie sicher, dass Sie ihn mit dem Parameter starten, wie er in der folgende Liste und Abbildung zu sehen ist:

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

Screenshot der Seite „Überblick“ für import_py2package_from_pypi mit dem Bereich „Runbook starten“ auf der rechten Seite

Mithilfe des Runbooks können Sie angeben, welches Paket heruntergeladen werden soll. Verwenden Sie beispielsweise den Azure-Parameter, um alle Azure-Module und alle Abhängigkeiten (etwa 105) herunterzuladen. Nach Abschluss des Runbooks können Sie die Seite Python-Pakete unter Freigegebene Ressourcen in Ihrem Automation-Konto überprüfen, um zu bestätigen, dass das Paket ordnungsgemäß importiert wurde.

Verwenden eines Pakets in einem Runbook

Nachdem Sie ein Paket importiert haben, können Sie es in einem Runbook verwenden. Fügen Sie den folgenden Code hinzu, um alle Ressourcengruppen in einem Azure-Abonnement aufzulisten:

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

Entwickeln und Testen von Runbooks im Offlinemodus

Um Ihre Python 2-Runbooks offline zu entwickeln und zu testen, können Sie die für das Python-Modul emulierten Azure Automation-Assets auf GitHub verwenden. Mit diesem Modul können Sie auf Ihre freigegebenen Ressourcen wie Anmeldeinformationen, Variablen, Verbindungen und Zertifikate verweisen.

Nächste Schritte

Informationen zum Vorbereiten eines Python-Runbooks finden Sie unter Tutorial: Erstellen eines Python-Runbooks.