Beim Erstellen des Skripts zur Verwendung in vRealize Orchestrator müssen Sie sicherstellen, dass das Skript die korrekte Struktur und Formatierung aufweist.
Unterstützte Laufzeiten
Zum Entwickeln von vRealize Orchestrator-Aktionen und Workflows können Sie die folgenden Laufzeiten verwenden:
- Python 3.7
- Node.js 14
- PowerCLI 11/PowerShell 6.2
- PowerCLI 12.3.0/Powershell 7.1
Hinweis: Die PowerCLI-Laufzeit umfasst PowerShell und die folgenden Module: VMware.PowerCLI, PowerNSX, PowervRA.
Sie können den neuen Laufzeiten beliebigen benutzerdefinierten Quellcode hinzufügen. Zur Übernahme von Kontext und Eingaben und Rückgabe von Ergebnissen aus und an das vRealize Orchestrator-Modul, müssen Sie das korrekte Funktionsformat verwenden.
Empfehlungen zur Skripterstellung
Für einfachere Skripterstellungsaufgaben können Sie Skriptfähige Aufgabe-Elemente zu Ihrem Workflow-Schema hinzufügen. Sie können vRealize Orchestrator-Aktionen für komplexere Skripterstellungsaufgaben verwenden.
Der Einsatz von Aktionen bietet zwei spezifische Vorteile:
- Aktionen können unabhängig von Workflows erstellt, aktualisiert, importiert und exportiert werden.
- Aktionen sind eigenständige Objekte, die in ihrer eigenen Umgebung ausgeführt und gedebuggt werden können, was zu einem reibungsloseren Entwicklungsprozess führen kann. Weitere Informationen finden Sie unter Ausführen und Debuggen von Aktionen.
Anforderungen an die Skriptfunktion
Der Standardname für die Skriptfunktion lautet handler. Die Funktion akzeptiert zwei Argumente, Kontext und Eingabe. Beim Kontext handelt es sich um ein Zuordnungsobjekt mit Systeminformationen. Beispielsweise kann vroURL
die URL der aufzurufenden vRealize Orchestrator-Instanz enthalten, während executionId
die Token-ID einer Workflow-Ausführung enthält.
Bei einer Eingabe handelt es sich um ein Zuordnungsobjekt mit allen Eingaben, die für die Aktionen bereitgestellt wurden. Wenn Sie beispielsweise eine Eingabe in der Aktion mit dem Namen myInput
definieren, können Sie je nach Laufzeit über das Eingabeargument, wie z. B. inputs.myInput
oder inputs["myInput"]
, darauf zugreifen. Alles, was von der Funktion zurückgegeben wird, gilt als Ergebnis der Aktion. Aus diesem Grund muss der Rückgabetyp der Aktion dem Inhaltstyp entsprechen, der vom Skript in vRealize Orchestrator zurückgegeben wird. Wenn Sie eine einfache Zahl zurückgeben, muss der Rückgabetyp der Aktion ein Zahlentyp sein. Wenn Sie eine Zeichenfolge zurückgeben, muss der Rückgabetyp der Aktion ein Zeichenfolgentyp sein. Wenn Sie ein komplexes Objekt zurückgeben, muss der Rückgabetyp entweder Properties
oder Composite Type
zugeordnet werden. Dieselben Prinzipien gelten auch für Arrays.
Unterstützte Eingabe- und Ausgabeparametertypen für Python-, Node.js- und PowerShell-Laufzeiten:
String
Number
Boolean
Date
Properties
Composite Type
Definieren des Eingabe-Handlers
Standardmäßig wird handler.handler
als Wert für den Eingabe-Handler verwendet. Dieser Wert bedeutet, dass die vRealize Orchestrator-Engine im ZIP-Paket nach einer Datei auf oberster Ebene mit dem Namen handler.py, handler.js oder handler.ps1 sucht, die eine Funktion mit der Bezeichnung handler
enthält. Alle Unterschiede bei den Namen der Funktion und Handler-Datei müssen sich im Wert des Eingabe-Handlers widerspiegeln. Wenn der Haupt-Handler beispielsweise den Namen index.js und die Funktion den Namen callMe
aufweist, müssen Sie den Wert für den Eingabe-Handler auf index.callMe setzen.
Debuggen von Laufzeitskripts in einer externen IDE
vRealize Orchestrator unterstützt das Debuggen von Python- und Node.js-Skripts in einer externen IDE. PowerShell-Skripts können nicht in einer externen IDE gedebuggt werden.