Umgebungsvariablen verwenden

Wenn Sie Umgebungsvariablen festlegen, werden diese in den Container eingefügt und sind für Ihren Code aufrufbar. Umgebungsvariablen werden als Schlüssel/Wert-Paare festgelegt.

Reservierte Namen

Die im Containerlaufzeitvertrag definierten Umgebungsvariablen sind reserviert. Sie können nicht festgelegt werden. Im Speziellen wird die Umgebungsvariable PORT von Cloud Run in Ihren Container eingefügt. Sie sollten die Variable nicht selbst festlegen.

Umgebungsvariablen festlegen

Sie können Umgebungsvariablen für Cloud Run-Dienste oder -Jobs festlegen.

Für Cloud Run-Dienste

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Sie können Umgebungsvariablen über die Google Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Gehen Sie dazu so vor:
      • Wenn Sie eine Variable hinzufügen, klicken Sie auf Variable hinzufügen. Dann geben Sie den gewünschten Namen für die Variable und ihren Wert in den Textfeldern Name und Wert an.
      • Falls Sie einen Wert für eine Variable ändern möchten, ersetzen Sie den aktuellen Wert im Textfeld Wert durch den gewünschten neuen Wert.
      • Möchten Sie eine oder mehrere Umgebungsvariablen entfernen, bewegen Sie den Cursor links neben das Textfeld Wert der Variablen, die Sie entfernen möchten. Daraufhin wird das Papierkorbsymbol angezeigt. Klicken Sie darauf.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

Befehlszeile

Verwenden Sie zum Festlegen, Aktualisieren oder Entfernen von Umgebungsvariablen eines vorhandenen Dienstes den Befehl gcloud run services update. Sie können nach Bedarf eines der folgenden Flags verwenden:

Sie können Umgebungsvariablen beim Bereitstellen eines Dienstes angeben oder nach dem Erstellen des Dienstes aktualisieren:

gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
  • Ersetzen Sie SERVICE durch den Namen des Dienstes.
  • Ersetzen Sie KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der gewünschten Variablennamen und ihrer Werte.
  • Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. .

YAML

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie die Attribute name und value unter dem Attribut env unter containers::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            env:
            - name: KEY-1
              value: VALUE-1
            - name: KEY-N
              value: VALUE-N

    Ersetzen Sie

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • KEY-1, VALUE-1 durch die Umgebungsvariable und den Wert. Fügen Sie bei Bedarf weitere Variablen und Werte hinzu.
    • REVISION durch einen neuen Überarbeitungsnamen oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
      • Beginnt mit SERVICE-
      • Enthält nur Kleinbuchstaben, Ziffern und -
      • Endet nicht mit -
      • Darf nicht mehr als 63 Zeichen enthalten
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud run services replace service.yaml

Terraform

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

Fügen Sie einer google_cloud_run_service-Ressource in Ihrer Terraform-Konfiguration unter template.spec.containers Folgendes hinzu: Im folgenden Beispiel wird die Umgebungsvariable foo auf bar und die Umgebungsvariable baz auf quux gesetzt:

# Environment variables
# https://cloud.google.com/run/docs/configuring/environment-variables
env {
  name  = "foo"
  value = "bar"
}
env {
  name  = "baz"
  value = "quux"
}

Für Cloud Run-Jobs

So legen Sie eine Umgebungsvariable für einen Cloud Run-Job fest:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Tab Jobs und füllen Sie die Seite mit den anfänglichen Jobeinstellungen wie gewünscht aus, wenn Sie einen neuen Job konfigurieren. Klicken Sie auf den Job und dann auf Bearbeiten, wenn Sie einen vorhandenen Job konfigurieren.

  3. Klicken Sie auf Container, Variablen und Secrets, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Klicken Sie auf den Tab Variablen.

    Image

    • Gehen Sie dazu so vor:
      • Wenn Sie eine Variable hinzufügen, klicken Sie auf Variable hinzufügen. Dann geben Sie den gewünschten Namen für die Variable und ihren Wert in den Textfeldern Name und Wert an.
      • Falls Sie einen Wert für eine Variable ändern möchten, ersetzen Sie den aktuellen Wert im Textfeld Wert durch den gewünschten neuen Wert.
      • Möchten Sie eine oder mehrere Umgebungsvariablen entfernen, bewegen Sie den Cursor links neben das Textfeld Wert der Variablen, die Sie entfernen möchten. Daraufhin wird das Papierkorbsymbol angezeigt. Klicken Sie darauf.
  5. Klicken Sie auf Erstellen oder Aktualisieren.

Befehlszeile

Verwenden Sie zum Festlegen, Aktualisieren oder Entfernen von Umgebungsvariablen eines vorhandenen Dienstes den Befehl gcloud run jobs update. Sie können nach Bedarf eines der folgenden Flags verwenden:

  • --set-env-vars
  • --update-env-vars
  • --remove-env-vars
  • --clear-env-vars

    Sie können Umgebungsvariablen beim Erstellen eines Jobs oder beim Aktualisieren eines Jobs angeben:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
    
    gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
  • Ersetzen Sie JOB_NAME durch den Namen Ihres Jobs.

  • Ersetzen Sie KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der gewünschten Variablennamen und ihrer Werte.

  • Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.

YAML

Laden Sie die vorhandene Jobkonfiguration herunter und verwenden Sie den Befehl gcloud run jobs describe --format export, um bereinigte Ergebnisse im YAML-Format zu erhalten. Ändern Sie dann die unten beschriebenen Felder und laden Sie die geänderte YAML-Datei mit dem Befehl gcloud run jobs replace hoch. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Aktualisieren Sie die Attribute name und value unter env, wie unter containers: gezeigt:
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    Ersetzen Sie KEY-1, VALUE-1 durch die Umgebungsvariable und den Wert. Fügen Sie bei Bedarf weitere Variablen und Werte hinzu.

    Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.

  2. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

Umgebungsvariablen festlegen

Wenn Sie zu viele Umgebungsvariablen haben, die nicht einfach im Format KEY1=VALUE1,KEY2=VALUE2 aufgelistet werden können, können Sie die oben aufgeführten Flags alternativ mehrmals wiederholen:

   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Escape-Zeichen

Da das Komma , verwendet wird, um Umgebungsvariablen aufzuteilen, wenn Ihre Umgebungsvariable Kommas als Werte enthält, müssen Sie diese Trennzeichen vermeiden und ein anderes Trennzeichen angeben, zum Beispiel @:

--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Standardumgebungsvariablen im Container festlegen

Sie können die ENV-Anweisung in einer Dockerfile verwenden, um Standardwerte für Umgebungsvariablen festzulegen:

ENV KEY1=VALUE1,KEY2=VALUE2

Reihenfolge der Priorität: Container- im Vergleich zu Dienst- oder Jobvariablen

Wenn im Container eine Standard-Umgebungsvariable und für den Cloud Run-Dienst oder Job eine Umgebungsvariable mit demselben Namen festgelegt ist, hat der für den Dienst festgelegte Wert Vorrang.

Einstellungen für Umgebungsvariablen ansehen

So rufen Sie die aktuellen Einstellungen für Umgebungsvariablen für Ihren Cloud Run-Dienst auf:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. Im Detailbereich auf der rechten Seite ist die Einstellung für Umgebungsvariablen auf dem Tab Variablen aufgelistet.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration nach Einstellung für Umgebungsvariablen.

So rufen Sie die aktuellen Einstellungen für Umgebungsvariablen für Ihren Cloud Run-Job auf:

Console

  1. Zu Cloud Run-Jobs

  2. Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf den Tab Konfiguration.

  4. Suchen Sie in den Konfigurationsdetails nach der Einstellung für die Umgebungsvariablen.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run jobs describe JOB_NAME
  2. Suchen Sie in der zurückgegebenen Konfiguration nach Einstellung für Umgebungsvariablen.

Beispielcode

Ein Codebeispiel für den Zugriff auf Umgebungsvariablen in Ihrem Code finden Sie in der Anleitung zur Endnutzerauthentifizierung unter Mit Secret Manager vertrauliche Konfigurationen verwalten.

Nächste Schritte

Sie können Umgebungsvariablen verwenden, um die Buildpack-Konfiguration festzulegen. Sprachspezifische Details finden Sie in der Buildpacks-Dokumentation zu folgenden Themen: