Erstellen Sie ein Beispielskript, das Python zum Aufrufen der vRealize Automation-Projekt-API verwendet.
Voraussetzungen
Stellen Sie sicher, dass Sie Python 3 sowie das Installationsprogramm für das PIP-Paket installiert haben. Weitere Informationen finden Sie auf der Seite Python-Downloads und im Python-Paketindex.
Prozedur
- Öffnen Sie auf Ihrer lokalen Maschine eine Befehlszeilen-Shell.
- Erstellen Sie einen Ordner mit der Bezeichnung
vro-python-vra
.
- Navigieren Sie zum Ordner
vro-python-vra
.
- Erstellen Sie ein Python-Skript mit dem Namen handler.py.
Im Skript
handler.py muss eine Funktion definiert werden, die zwei Argumente, den Kontext der vRealize Orchestrator-Workflow-Ausführung und die gebundenen vRealize Orchestrator-Eingaben akzeptiert.
def handler(context, inputs):
print('Hello, your inputs were ' + inputs)
return None
Hinweis: Mithilfe von Standardprotokollierungsbibliotheken werden alle protokollierten Einträge in der Aktion, die das Skript verwendet, auch im Workflow-Protokoll angezeigt. Die Eingaben und die Rückgabe des Skripts müssen entsprechende im vRealize Orchestrator-Client konfigurierte Eingabeparameter und Rückgabetypen aufweisen. Beispielsweise muss die Eingabe
vRAUrl
im Skript einen entsprechenden Eingabeparameter mit der Bezeichnung
vRAUrl
im vRealize Orchestrator-Client aufweisen. Wenn vom Skript ein Zeichenfolgenwert zurückgegeben wird, muss der im vRealize Orchestrator-Client konfigurierte Rückgabetyp ebenfalls vom Typ „Zeichenfolge“ sein. Wenn von der Aktion ein komplexes Objekt zurückgegeben wird, können Sie den Rückgabetyp
Properties
oder
Composite Type
verwenden.
- Installieren Sie das Python-Anforderungsmodul.
Wichtig: Abhängigkeitsmodule von Drittanbietern müssen in einem Ordner auf Root-Ebene im Ordner des Hauptskripts
vro-python-vra
installiert werden. In diesem Anwendungsfall erstellen Sie einen Ordner mit dem Namen
lib für das Anforderungsmodul.
- Erstellen Sie einen Ordner mit dem Namen lib.
- Installieren Sie das Anforderungsmodul.
pip3 install requests -t lib/
- Fügen Sie dem Skript handler.py das Anforderungsmodul hinzu.
import requests
def handler(context, inputs):
print('Hello, your inputs were ' + inputs)
return None
- Erstellen Sie eine GET-Anforderung für die vRealize Automation-Projekt-API.
token = ''
vRAUrl = ''
r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
print('Got response ' + r.text)
- Definieren Sie die Werte
token
und vRAUrl
.
- Rufen Sie das Zugriffstoken mithilfe der vRealize Automation-Identitätsdienst-API ab. Weitere Informationen finden Sie unter Abrufen des Zugriffstokens für die vRealize Automation-API
- Definieren Sie das Skript für den Wert
vRAUrl
so, dass es einen vRealize Orchestrator-Eingabeparameter mit demselben Namen verwendet.
vRAUrl = inputs["vRAUrl"]
- Fügen Sie der Datei handler.py die neuen Werte hinzu.
import requests
def handler(context, inputs):
token = 'ACCESS_TOKEN'
vRAUrl = inputs["vRAUrl"]
r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
print('Got response ' + r.text)
return r.json()
Hinweis: Da die Antwort von der vRealize Automation-Projekt-API in einem JSON-Format zurückgegeben wird, verwenden Sie einen
Properties
- oder
Composite Type
-Rückgabetyp für Ihre vRealize Orchestrator-Aktion.
- Erstellen Sie ein ZIP-Paket, das die Datei handler.py und den Ordner lib Ihres Anforderungsmoduls enthält.
zip -r --exclude=*.zip -X vro-python-vra.zip .
Nächste Maßnahme
Importieren Sie das PowerShell-Skript in eine vRealize Orchestrator-Aktion. Weitere Informationen finden Sie unter Erstellen von Aktionen im vRealize Orchestrator Client.