Umgebungsvariablen verwenden

Sie können Umgebungsvariablen für Workflows beim Deployment definieren. Sie können beispielsweise einen Workflow erstellen, der abhängig von der Umgebung, in der er bereitgestellt wird, dynamisch konfiguriert wird. Alternativ können Sie einen Workflow erstellen, der als Vorlage wiederverwendet und nach separat verwalteten Umgebungsvariablen konfiguriert werden kann.

Umgebungsvariablen werden als beliebige Schlüssel/Wert-String-Paare festgelegt, auf die Ihr Workflow zur Laufzeit zugreifen kann. Sie werden im Workflow-Back-End gespeichert, sind auf die Workflowausführung beschränkt und sind während der Ausführung eines Workflows unveränderlich.

Alle Umgebungsvariablen sind an eine Bereitstellung eines Workflows gebunden und können nur mit einer Bereitstellung festgelegt oder geändert werden. Das Erstellen oder Ändern einer Umgebungsvariable erfordert eine erfolgreiche Bereitstellung. Wenn eine Bereitstellung aus irgendeinem Grund fehlschlägt, werden Änderungen an Umgebungsvariablen nicht angewendet.

Sie können benutzerdefinierte Umgebungsvariablen über die Google Cloud CLI hinzufügen, aktualisieren oder entfernen.

Reservierte Namen

Die für Workflows definierten integrierten Umgebungsvariablen sind reserviert und können nicht festgelegt werden.

Beachten Sie, dass Sie beim Definieren von Umgebungsvariablen für Workflows nicht Folgendes verwenden können:

Schlüssel Beschreibung
Leer ('') Schlüssel dürfen kein leerer String sein.
GOOGLE_ Schlüssel dürfen nicht das Präfix GOOGLE_ enthalten.
WORKFLOWS_ Schlüssel dürfen nicht das Präfix WORKFLOWS_ enthalten.

Umgebungsvariablen festlegen

Sie können beim Bereitstellen eines Workflows neue Variablen definieren oder vorhandene Variablen ersetzen. Wenn Sie additive Änderungen vornehmen möchten, lesen Sie stattdessen in diesem Dokument Umgebungsvariablen aktualisieren.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf der Seite Workflows auf Erstellen.

  3. Füllen Sie auf der Seite Workflow erstellen die entsprechenden Felder aus, um Ihre Workflowdefinition zu konfigurieren.

  4. Klicken Sie im Bereich Umgebungsvariablen (optional) auf Variable hinzufügen.

  5. Geben Sie im Feld Name 1 den Variablennamen an.

  6. Geben Sie im Feld Wert 1 den Variablenwert ein.

  7. Wenn Sie eine weitere Variable hinzufügen möchten, klicken Sie auf Variable hinzufügen.

  8. Klicken Sie auf Next (Weiter).

  9. Nachdem Sie den Workflow definiert haben, klicken Sie auf Bereitstellen, um ihn bereitzustellen.

gcloud

Verwenden Sie das Flag --set-env-vars, um eine Umgebungsvariable festzulegen:

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

Ersetzen Sie Folgendes:

  • WORKFLOW_NAME: die ID Ihres Workflows.
  • KEY1=VALUE1: der Name der Umgebungsvariablen und ihr Wert, z. B. MONTH=January.

Terraform

Verwenden Sie zum Erstellen eines Workflows die Ressource google_workflows_workflow und ändern Sie die Datei main.tf wie im Beispiel gezeigt. Weitere Informationen finden Sie unter Workflow mit Terraform erstellen.

Verwenden Sie das Argument user_env_vars, um eine Umgebungsvariable mit der Workflowversion zu verknüpfen.

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Mehrere Umgebungsvariablen festlegen

Wenn Sie mehrere Umgebungsvariablen festlegen möchten, verwenden Sie eine durch Kommas getrennte Liste:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Escape-Zeichen

Da das Komma (,) zur Trennung von Umgebungsvariablen verwendet wird, müssen Sie ein anderes Trennzeichen angeben, z. B. @, wenn Ihre Variablenwerte Kommas enthalten:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

Variablen in einer Datei speichern

Verwenden Sie eine YAML-Datei und das Flag --env-vars-file, um Ihre Variablen in einer Datei zu speichern (z. B. in der Versionsverwaltung):

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

Ersetzen Sie FILE_PATH durch den Pfad zu einer lokalen YAML-Datei, in der die Definitionen für Ihre Umgebungsvariablen aufgeführt sind. Die Variablennamen und -werte müssen Strings sein. Alle vorhandenen Umgebungsvariablen werden von Workflows entfernt, bevor die neuen Umgebungsvariablen hinzugefügt werden.

Der Inhalt der YAML-Datei könnte beispielsweise so aussehen:

KEY1: "value1"
KEY2: "value2"

Weitere Informationen zum Befehl deploy finden Sie unter gcloud workflows deploy.

Umgebungsvariablen aufrufen

Wenn Sie auf eine Umgebungsvariable zugreifen möchten, rufen Sie die Funktion sys.get_env() in einem Ausdruck auf und übergeben Sie den Namen der Umgebungsvariablen als Parameter. Der Name der Umgebungsvariablen muss als String übergeben werden.

Im folgenden Workflow wird beispielsweise der Wert der Umgebungsvariablen KEY1 einer Workflowvariablen namens keyValue zugewiesen und dann wird dieser Wert ausgegeben:

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

Umgebungsvariablen aktualisieren

Sie können benutzerdefinierte Umgebungsvariablen für vorhandene Workflows aktualisieren. Bei diesem nicht destruktiven Ansatz werden Umgebungsvariablen geändert oder hinzugefügt, aber keine Variablen gelöscht.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf den Namen des Workflows, den Sie aktualisieren möchten.

    Die Seite Workflowdetails wird angezeigt.

  3. So bearbeiten Sie eine vorhandene Umgebungsvariable:

    • Klicken Sie auf den Tab Details.

      1. Klicken Sie neben Umgebungsvariablen auf das Symbol .
      2. Machen Sie die gewünschten Änderungen.
      3. Klicken Sie auf Speichern, um den aktualisierten Workflow bereitzustellen.
    • Klicken Sie auf Bearbeiten.

      1. Nehmen Sie im Abschnitt Umgebungsvariablen (optional) die gewünschten Änderungen vor.
      2. Klicken Sie auf Weiter und dann auf Bereitstellen, um den aktualisierten Workflow bereitzustellen.

gcloud

Verwenden Sie das Flag --update-env-vars, um eine Variable zu aktualisieren:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

Verwenden Sie eine durch Kommas getrennte Liste, um mehrere Umgebungsvariablen zu aktualisieren:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Umgebungsvariablen löschen

Sie können benutzerdefinierte Umgebungsvariablen für vorhandene Workflows löschen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf den Namen des Workflows, den Sie aktualisieren möchten.

    Die Seite Workflowdetails wird angezeigt.

  3. So löschen Sie eine vorhandene Umgebungsvariable:

    • Klicken Sie auf den Tab Details.

      1. Klicken Sie auf die entsprechende .
      2. Klicken Sie neben der Umgebungsvariable, die Sie löschen möchten, auf das Symbol .
      3. Klicken Sie auf Speichern, um den aktualisierten Workflow bereitzustellen.
    • Klicken Sie auf Bearbeiten.

      1. Klicken Sie neben der Umgebungsvariable, die Sie löschen möchten, auf das Symbol .
      2. Klicken Sie auf Weiter und dann auf Bereitstellen, um den aktualisierten Workflow bereitzustellen.

gcloud

Wenn Sie Umgebungsvariablen selektiv entfernen möchten, verwenden Sie das Flag --remove-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

Alternativ können Sie alle zuvor festgelegten Umgebungsvariablen mit dem Flag --clear-env-vars löschen:

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

Best Practices

Als Best Practice empfehlen wir, sich nicht auf Umgebungsvariablen zu verlassen oder diese zu ändern, die Sie nicht explizit festgelegt haben. Wenn Sie andere als die explizit festgelegten Umgebungsvariablen ändern, kann dies unerwünschte Folgen haben.

Secrets verwalten

Umgebungsvariablen können zum Konfigurieren von Workflows verwendet werden. Sie werden jedoch nicht zum Speichern und Verwenden von Secrets wie Datenbankanmeldedaten oder API-Schlüsseln empfohlen. Diese sensiblen Werte sollten getrennt vom Quellcode und von Umgebungsvariablen gespeichert und nicht versehentlich an Logs gesendet werden.

Zum Speichern von Secrets empfehlen wir Ihnen, die Best Practices zur Verwaltung von Secrets zu lesen und der Anleitung zur Verwendung von Secret Manager mit Workflows zu folgen.

Namenskonventionen

Als allgemeine Regel empfehlen wir, dass Schlüssel von Umgebungsvariablen ausschließlich aus Großbuchstaben, Ziffern und Unterstrichen (_) bestehen und nicht mit einer Ziffer beginnen. Sie sollten Ihren benutzerdefinierten Umgebungsvariablen einen eindeutigen Schlüssel als Präfix hinzufügen, um Konflikte mit anderen Variablen zu vermeiden.

Größenbeschränkungen

Es können maximal 20 benutzerdefinierte Umgebungsvariablen definiert werden. Jeder Definitionsstring (KEY=value) ist auf 4 KiB begrenzt.

Nächste Schritte