Gérer des packages Python 2 dans Azure Automation

Cet article décrit comment importer, gérer et utiliser des packages Python 2 dans Azure Automation s’exécutant sur l’environnement de bac à sable Azure et des Runbooks Worker hybrides. Vous pouvez simplifier les runbooks en utilisant des packages Python pour importer les modules dont vous avez besoin.

Pour plus d’informations sur la gestion des packages Python 3, consultez Gérer les packages Python 3.

Importer des packages

  1. Dans votre compte Automation, sélectionnez Packages Python sous Ressources partagées. Sélectionnez + Ajouter un package Python.

    Capture d’écran de la page des packages Python montrant les packages Python dans le menu de gauche et Ajouter un package Python sélectionné.

  2. Dans la page Ajouter un package Python, sélectionnez un package local à charger. Le package peut être un fichier .whl ou .tar.gz.

  3. Entrez un nom et sélectionnez 2.x.x comme Version du runtime

  4. Cliquez sur Importer.

    Capture d’écran montrant la page Ajouter un package Python avec un fichier tar.gz chargé sélectionné.

Dès qu’un package est importé, il est listé dans la page des packages Python de votre compte Automation. Pour supprimer un package, sélectionnez-le, puis cliquez sur Supprimer.

Capture d’écran montrant la page des packages Python 2.7.x après l’importation d’un package.

Importer des packages avec des dépendances

Azure Automation ne résout pas les dépendances des packages Python pendant le processus d’importation. Il existe deux méthodes pour importer un package avec toutes ses dépendances. Seule l’une des étapes suivantes doit être utilisée pour importer les packages dans votre compte Automation.

Téléchargement manuel

Sur un ordinateur Windows 64 bits où sont installés Python 2.7 et pip, exécutez la commande suivante pour télécharger un package et toutes ses dépendances :

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

Une fois les packages téléchargés, vous pouvez les importer dans votre compte Automation.

Runbook

Pour obtenir un runbook, importer des packages Python 2 à partir de Pypi dans Azure Automation de compte à partir de l’organisation Azure Automation GitHub dans votre compte Automation. Vérifiez que les paramètres d’exécution sont définis sur Azure, puis démarrez le runbook avec les paramètres. Vérifiez que l’identité managée est activée pour votre compte Automation et dispose d’un accès contributeur Automation pour une importation réussie du package. Veillez à démarrer chaque paramètre avec le commutateur, comme indiqué dans la liste et la capture d’écran suivantes :

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

Capture d’écran qui montre la page de vue d’ensemble pour import_py2package_from_pypi avec le volet Démarrer le Runbook sur le côté droit.

Le runbook vous permet de spécifier le package à télécharger. Par exemple, l’utilisation du paramètre Azure permet de télécharger tous les modules Azure et toutes les dépendances (environ 105). Une fois le runbook terminé, vous pouvez consulter les packages Python sous Ressources partagées dans votre compte Automation pour vérifier que le package a bien été importé.

Utiliser un package dans un runbook

Vous pouvez utiliser un package importé dans un runbook. Ajoutez le code suivant pour lister tous les groupes de ressources dans un abonnement Azure :

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

Développer et tester les runbooks en mode hors connexion

Pour développer et tester vos runbooks Python 2 en mode hors connexion, utilisez par exemple le module Azure Automation python emulated assets (Ressources émulées Python dans Azure Automation) sur GitHub. Ce module vous permet de référencer vos ressources partagées telles que les informations d’identification, variables, connexions et certificats.

Étapes suivantes

Pour préparer un runbook Python, consultez Créer un runbook Python.