Auf dieser Seite wird beschrieben, wie Sie Umgebungsvariablen für Ihre Cloud Run-Instanz konfigurieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Instanzen benötigen:
- Cloud Run-Entwickler (
roles/run.developer) für die Cloud Run-Instanz - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihre Cloud Run-Instanz mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Umgebungsvariablen festlegen
Sie können Umgebungsvariablen für eine Cloud Run-Instanz mit der Google Cloud CLI oder YAML festlegen:
gcloud
Verwenden Sie das
--set-env-vars Flag, um Umgebungsvariablen beim Erstellen der Instanz anzugeben:
gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Ersetzen Sie Folgendes:
- INSTANCE: durch den Namen der Instanz
IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latest.- KEY1=VALUE1,KEY2=VALUE2: die durch Kommas getrennte Liste der Variablen namen und -werte
Weitere Informationen zum Festlegen mehrerer Umgebungsvariablen oder zum Escapen von Sonderzeichen finden Sie unter Mehrere Umgebungsvariablen festlegen.
YAML
Wenn Sie eine neue Instanz erstellen, überspringen Sie diesen Schritt. Wenn Sie eine vorhandene Instanz aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Das folgende Beispiel enthält die YAML-Konfiguration:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - env: - name: KEY value: VALUE - name: KEY2 value: VALUE2 image: IMAGE
Ersetzen Sie Folgendes:
- INSTANCE: durch den Namen Ihrer Cloud Run-Instanz.
- KEY und VALUE: durch den Namen und die Werte der Umgebungsvariablen.
IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latest.
Erstellen oder aktualisieren Sie die Instanz mit dem folgenden Befehl:
gcloud beta run instances replace instance.yaml
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 Instanzvariablen
Wenn im Container eine Standardumgebungsvariable und für die Cloud Run-Instanz eine Umgebungsvariable mit demselben Namen festgelegt ist, hat der für die Instanz festgelegte Wert Vorrang.
Mehrere Umgebungsvariablen festlegen
Sie können mehrere Umgebungsvariablen mit der Datei .env oder dem Flag --set-env-vars festlegen.
Mehrere Umgebungsvariablen mit der Datei .env festlegen
gcloud
Führen Sie den folgenden Befehl aus, um mehrere Umgebungsvariablen aus der Datei .env anzugeben:
gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Ersetzen Sie Folgendes:
- INSTANCE: durch den Namen der Instanz.
IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latest.- ENV_FILE_PATH: durch den Pfad zur Datei
.env.
Mehrere Umgebungsvariablen mit dem Flag --set-env-vars festlegen
Wenn Sie mehrere Umgebungsvariablen haben, die nicht im Format KEY1=VALUE1,KEY2=VALUE2 aufgelistet werden können, können Sie das Flag --set-env-vars 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=..."
Umgebungsvariablen aktualisieren
Sie können Laufzeitumgebungsvariablen für vorhandene Instanzen aktualisieren. Bei diesem nicht destruktiven Ansatz werden Laufzeitumgebungsvariablen geändert oder hinzugefügt, jedoch nicht gelöscht.
Sie können Umgebungsvariablen mit der Google Cloud CLI oder YAML aktualisieren:
gcloud
Verwenden Sie das
--update-env-vars
Flag, um Umgebungsvariablen einer vorhandenen Instanz zu aktualisieren:
gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Ersetzen Sie Folgendes:
- INSTANCE: durch den Namen der Instanz
- KEY1=VALUE1,KEY2=VALUE2: die durch Kommas getrennte Liste der Variablen namen und -werte
YAML
Laden Sie die YAML-Konfiguration der Instanz herunter:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Bearbeiten Sie die Variablen für Schlüssel (Name) und Wert.
Aktualisieren Sie die Instanz mit dem folgenden Befehl:
gcloud beta run instances replace instance.yaml
Umgebungsvariablen löschen
gcloud
Verwenden Sie
das --remove-env-vars
Flag, um Umgebungsvariablen selektiv aus einer vorhandenen Instanz zu entfernen:
gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2
Ersetzen Sie Folgendes:
- INSTANCE: durch den Namen der Instanz
- KEY1,KEY2: die durch Kommas getrennte Liste der Variablennamen
Alternativ können Sie alle zuvor festgelegten Umgebungsvariablen
mit dem --clear-env-vars
Flag löschen:
gcloud beta run instances update INSTANCE --clear-env-vars
Ersetzen Sie INSTANCE durch den Namen Ihrer Instanz.
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 eine Buildpacks Konfiguration festzulegen. Sprachspezifische Details finden Sie in der Buildpacks-Dokumentation für: