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.