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.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die zum Konfigurieren von Cloud Run-Jobs erforderlichen Berechtigungen zu erhalten:
-
Rolle Cloud Run Entwickler (
roles/run.developer
) im Cloud Run-Job -
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 Ihr Cloud Run-Job 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
So legen Sie eine Umgebungsvariable für einen Cloud Run-Job fest:
Console
Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":
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.
Klicken Sie auf Container, Variablen und Secrets, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Klicken Sie auf den Tab Variablen.
- 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.
- Gehen Sie dazu so vor:
Klicken Sie auf Erstellen oder Aktualisieren.
gcloud
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
-
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
Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run jobs describe JOB_NAME --format export > job.yaml
- Aktualisieren Sie die Attribute
name
undvalue
unterenv
, wie untercontainers:
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.
- Aktualisieren Sie die Attribute
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-Job auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":
Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.
Klicken Sie auf den Tab Konfiguration.
Suchen Sie in den Konfigurationsdetails nach der Einstellung für die Umgebungsvariablen.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run jobs describe JOB_NAME
Suchen Sie in der zurückgegebenen Konfiguration nach Einstellung für Umgebungsvariablen.