Variablen in einem Python/HCL-Skript verwenden
Wenn Sie ein Python/HCL-Skript im Skripteditor von Robots erstellen, können Sie zwei verschiedene Arten von Variablen deklarieren:
-
Python-Variablen Reguläre Python-Variablen, die im Hauptteil des Skripts definiert werden
-
HCL-Variablen HCL-Variablen, die im Fenster Variablen definiert werden
Die beiden Variablenarten dienen unterschiedlichen Zwecken, die in den folgenden Abschnitten erläutert werden.
HCL weist auch automatisch Werte für integrierte Systemvariablen zu, basierend auf der Diligent One-Organisation, in der ein Skript ausgeführt wird, und dem Modus, in dem das Skript ausgeführt wird (Entwicklung oder Produktion). Weitere Informationen finden Sie unter system_variable[]-Methode.
Sie können alle drei Arten von Variablen zusammen in demselben Skript verwenden.
Python-Variablen
Python-Variablen in einem Python/HCL-Skript funktionieren auf dieselbe Weise wie in jedem anderen Python-Skript. Wenn sich Werte in einem Skript ändern können, können Sie auf Variablen in der Skriptlogik verweisen, anstatt auf literale Werte. Sie können Python-Variablen überall im Skript erstellen, wo Sie sie benötigen.
Beispiel für Python-Variablen
Im folgenden Beispiel wird eine Liste von Zahlen in einer Schleife durchlaufen und jede Zahl in der Liste mit sich selbst multipliziert. Da sich die Zahlen in der Liste ändern, verwendet die Skript-Logik Variablen anstelle von literalen Werten:
-
list_of_numbers – eine der Liste der Zahlen zugeordnete Variable
-
v_number – eine Variable, die einer einzelnen Zahl in der Liste zugeordnet ist
-
v_squared_number – eine Variable, die dem Ergebnis aus v_number * v_number zugeordnet sind
Bei jeder Iteration der for-Schleife werden die Werte der Variablen v_number und v_squared_number aktualisiert.
list_of_numbers = [1, 2, 3, 4, 5]
for v_number in list_of_numbers:
v_squared_number = v_number * v_number
print(v_squared_number)
Skript-Ausgabe:
1 4 9 16 25
HCL-Variablen
HCL-Variablen haben zwei Hauptfunktionen:
-
Sie bilden die Grundlage für die Eingabeparameter in Robot-Aufgaben.
-
Sie bieten einen sicheren Speicher für sensible Informationen wie Kennwörter und Authentifizierungstoken.
In Robots kann keine dieser Anforderungen mit Python-Variablen erfüllt werden. Sie müssen HCL-Variablen verwenden.
Das Fenster „Variablen“
Im Skript-Editor von Robots ist das Fenster Variablen ein zentraler Ort für die Definition von HCL-Variablen, die für ein Skript benötigt werden. Im Fenster Variablen definieren Sie Skript-Variablen, in denen Eingabewerte gespeichert werden, die von Benutzern bei der Ausführung oder im Ablaufplan einer Robot-Aufgabe eingegeben werden. Beispiel:
-
Eine Variable v_department, die Benutzern gestattet, eine bestimmte Abteilung festzulegen, sobald sie eine Aufgabe ausführen oder planen
-
Eine Variable, in der ein Authentifizierungsnachweis, der für den Zugriff auf eine Datenquelle erforderlich ist, wie z. B. ein Kennwort oder ein Authentifizierungstoken, sicher gespeichert wird
Sie können das Fenster Variablen auch verwenden, um eine HCL-Variable zu definieren, die nur im Kontext des Skripts genutzt wird, wie z. B. v_org_id. In diesem Fall ist es jedoch einfacher, eine Standard-Python-Variable im Hauptteil des Skripts zu erstellen, anstatt eine HCL-Variable zu definieren.
Felder der Variablendefinition
Nummer | Beschreibung |
---|---|
1 |
Name Enthält den Variablennamen, wie v_department. |
2 |
Typ Legt den Variablentyp fest. |
3 |
Wert Enthält den Anfangswert, der einer Variablen zugeordnet wird, wenn ein Skript interaktiv im Skript-Editor ausgeführt wird. |
Eingabefelder für Robot-Aufgaben
Nummer | Beschreibung |
---|---|
4 |
Aufgabeneingabe Legt fest, dass die Variable mit einem Eingabeparameter einer Aufgabe im Aufgaben-Designer verwendet wird.
|
5 |
Bezeichnung der Aufgabeneingabe erstellt eine Bezeichnung für den Eingabeparameter, die der Benutzer im Aufgaben-Designer sieht - z. B. Abteilung eingeben. Beschreibung der Aufgabeneingabe (optional) Erstellt eine Beschreibung für den Eingabeparameter, die zusätzliche, für den Benutzer hilfreiche Details enthält |
HCL-Variablen werden im Fenster „Variablen“ definiert.
Definieren Sie eine HCL-Variable wie z. B. v_department oder v_password zur Verwendung mit einem Eingabeparameter für eine Robot-Aufgabe im Aufgabendesigner..
Hinweis
HCL-Variablen sind in erster Linie für die Verwendung mit Robot-Aufgaben wie Skript-Konfigurationsoptionen, Kennwörtern oder Token gedacht. Für Skriptvariablen, die nicht für Aufgabeneingaben verwendet werden, ist es einfacher, eine Standard-Python-Variable im Hauptteil des Skripts zu definieren.
Einfache Variablendefinition erstellen
-
Klicken Sie im Robots-Skript-Editor auf Variablen verwalten .
-
Klicken Sie im Fenster Variablen auf Variable hinzufügen.
-
Legen Sie die folgenden Werte fest, um eine einfache Variablendefinition zu erstellen:
Feld Beschreibung Name Geben Sie den Variablennamen an. Beispiel: v_department oder v_password.
Hinweis
Eine Variable, die einen Diligent One-Token speichert, muss genau diesen Namen haben: v_hb_token
Informationen zum Abrufen eines Diligent One-Tokens finden Sie unter HighBond-Zugriffstoken erstellen und verwalten.
Typ Wählen Sie den Variablentyp aus:
-
Zeichen Für Text
-
Kennwort Für das sichere Verwalten von Kennwörtern oder Token
-
Systembenutzer (mit Toolkits verfügbar) Zur Autorisierung von Diligent One-Plattform-Operationen ohne Bezug zu einem tatsächlich Benutzer, ähnlich wie ein Dienstkonto
Achtung
Bearbeiten Sie keine Systembenutzervariablen, es sei denn, Sie haben einen Grund hierfür.
Wert Geben Sie einen Variablenwert ein. Der Wert einer Kennwort-Variable kann bis zu 8 KB lang sein.
Der Wert, den Sie eingeben, ist der Anfangswert, der einer Variablen zugeordnet wird, wenn ein Skript interaktiv im Skript-Editor ausgeführt wird.
Hinweis
Bei einer mit einer Aufgabeneingabe verbundenen Variablen ist der Wert nur im Skript-Editor verfügbar. Er wird nicht als Standardwert in den Aufgaben-Designer übertragen.
-
Zugeordneten Aufgabeneingabeparameter konfigurieren
Wenn die Variable mit einem Eingabeparameter einer Aufgabe im Aufgaben-Designer verwendet wird, müssen Sie zusätzliche Einstellungen festlegen.
-
Klicken Sie auf den Schalter, um die Aufgabeneingabe zu aktivieren.
Aktivieren Sie diese Einstellung, damit der Benutzer im Aufgaben-Designer nach einem Wert gefragt wird. Die Variable speichert die Werteingabe des Benutzers beim Ausführen oder Planen einer Aufgabe.
-
Wenn Sie dem Benutzer die Möglichkeit geben wollen, die Eingabe eines Wertes zu überspringen, wählen Sie Benutzereingabe ist optional.
Bestimmte Werte können das Skriptverhalten verändern, sind aber unter Umständen nicht zur Skriptausführung notwendig. Beispielsweise können optionale, benutzerspezifische Werte für das Start- und Enddatum die Analyse auf einen bestimmten Datenbereich beschränken.
-
Unter Bezeichnung der Aufgabeneingabe geben Sie die Bezeichnung ein, die der Benutzer im Aufgaben-Designer für diesen Parameter sieht.
Beispiel: Geben Sie eine Abteilung ein oder Geben Sie einen Diligent One-Token ein.
-
Optional. In Beschreibung der Aufgabeneingabe fügen Sie zusätzliche Einzelheiten ein, die dem Benutzer helfen, einen Eingabewert für den Parameter anzugeben.
Variablendefinition speichern
-
Klicken Sie auf Speichern und schließen, um die Variablendefinition zu speichern und das Fenster Variablen zu verlassen.
-
Klicken Sie auf Speichern und übermitteln, um das Skript mit der aktualisierten Variablendefinition zu speichern.
Hinweis
Sie müssen das Skript speichern und übermitteln, um die Variablendefinition permanent zu speichern.
-
Geben Sie eine Übermittlungsnachricht ein und klicken Sie auf Übermitteln.
Es wird eine Nachricht angezeigt, die bestätigt, ob das Skript erfolgreich übermittelt wurde.
Skript erneut ausführen
Durch das Speichern der Inhalte im Fenster Variablen wird automatisch der Sitzungsspeicher im Skript-Editor gelöscht. Alle importierten Python-Bibliotheken, Python-Dictionaries, generierten Dataframes oder im Speicher abgelegten Variablenwerte sind nicht mehr verfügbar. Wenn Sie eine Skriptzelle ausführen, die von zuvor im Speicher befindlichen Werten abhängt, erhalten Sie einen Fehler oder ein unerwartetes Ergebnis.
Damit der Sitzungsspeicher seinen vorherigen Wert zurückerhält, führen Sie das gesamte Skript oder alle notwendigen Zellen erneut aus.
HCL-Variablen in einem Skript verwenden
Um eine HCL-Variable in einem Skript zu verwenden, müssen Sie die Variable mit einer speziellen HCL-Syntax referenzieren.
HCL-Zeichen-Variable referenzieren
Um eine HCL-Zeichen-Variable zu referenzieren, verwenden Sie die folgende Syntax: hcl.variable["Variablenname"]
Beispiel:
print(hcl.variable["v_department"])
Skript-Ausgabe:
Aktivitäten
Ausführliche Informationen über die erforderliche Syntax finden Sie unter variable[]-Methode.
HCL-Kennwort-Variable referenzieren
Um eine HCL-Kennwort-Variable zu referenzieren, verwenden Sie die folgende Syntax: hcl.secret["Variablenname"].unmask()
Beispiel:
print(hcl.secret["v_hb_token"].unmask())
Skript-Ausgabe:
zq025f72938e4s...
Ausführliche Informationen über die erforderliche Syntax finden Sie unter secret[]-Methode.
Wert einer HCL-Variable an eine Python-Variable übergeben
Der Einfachheit halber können Sie den Wert einer HCL-Variable einer regulären Python-Variable übergeben und dann später einfach auf die Python-Variable verweisen.
Beispiel:
department = hcl.variable["v_department"]
print(department)
token = hcl.secret["v_hb_token"].unmask()
print(token)
Skript-Ausgabe:
Aktivitäten zq025f72938e4s...