Funktionen in Cloud Run bereitstellen

Auf dieser Seite wird beschrieben, wie Sie Funktionen in Cloud Run bereitstellen und ändern. Eine Beispielanleitung für die Bereitstellung einer Hello World-Funktion finden Sie unter Beispielfunktion bereitstellen.

Im Hintergrund werden bei Cloud Run-Funktionsbereitstellungen die Buildpacks von Google Cloud und Cloud Build verwendet, um automatisch Container-Images aus dem Quellcode Ihrer Funktion zu erstellen, ohne Docker auf Ihrem Computer installieren oder Buildpacks oder Cloud Build einrichten zu müssen.

Bei Cloud Run-Funktionsbereitstellungen wird auch Artifact Registry zum Speichern von Artefakten und zum Verwalten von Container-Images verwendet. Artifact Registry erstellt automatisch das Artifact Registry-Repository cloud-run-source-deploy, falls in Ihrem Projekt noch kein Repository mit diesem Namen vorhanden ist.

Hinweise

  1. Prüfen Sie, ob Sie ein neues Projekt für Cloud Run eingerichtet haben, wie auf der Seite Einrichtung beschrieben.

  2. Aktivieren Sie die Artifact Registry API, die Cloud Build API, die Cloud Run Admin API und die Cloud Logging API:

     gcloud services enable artifactregistry.googleapis.com \
         cloudbuild.googleapis.com \
         run.googleapis.com \
         logging.googleapis.com
    

    Optional können Sie die Eventarc API aktivieren, um Ereignistrigger zu verwenden:

     gcloud services enable eventarc.googleapis.com
    
  3. Wenn Sie einer Domaineinschränkung zur Organisation nicht eingeschränkter Aufrufe für Ihr Projekt unterliegen, müssen Sie auf Ihren bereitgestellten Dienst zugreifen, wie unter Private Dienste testen beschrieben.

Erforderliche Rollen

Sie oder Ihr Administrator müssen dem Bereitstellerkonto und dem Dienstkonto die folgenden IAM-Rollen zuweisen.

Klicken, um die erforderlichen Rollen für das Bereitstellerkonto aufzurufen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Bereitstellen aus der Quelle benötigen:

Klicken Sie, um die erforderlichen Rollen für das Cloud Build-Dienstkonto aufzurufen.

Cloud Build verwendet standardmäßig das Compute Engine-Standarddienstkonto als Cloud Build-Standarddienstkonto, um Ihren Quellcode und Ihre Cloud Run-Ressource zu erstellen, sofern Sie dieses Verhalten nicht überschreiben. Damit Cloud Build Ihre Quellen erstellen kann, bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto in Ihrem Projekt die Rolle Cloud Run Builder (roles/run.builder) zu erteilen:

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

Ersetzen Sie PROJECT_NUMBER durch Ihre Google CloudProjektnummer und PROJECT_ID durch Ihre Google CloudProjekt-ID. Eine detaillierte Anleitung zum Ermitteln der Projekt-ID und der Projektnummer finden Sie unter Projekte erstellen und verwalten.

Es dauert einige Minuten, bis die Zuweisung der Rolle „Cloud Run-Builder“ für das Compute Engine-Standarddienstkonto übertragen wurde.

Klicken Sie, um die erforderlichen Rollen für das Dienstkonto aufzurufen, wenn Sie Eventarc verwenden.

Wenn Sie Eventarc verwenden, können Sie Ihrem Dienstkonto optional die folgenden Rollen zuweisen:

Weitere Informationen zum Zuweisen bestimmter Rollen für Ihre Eventarc-Trigger finden Sie unter Rollen und Berechtigungen für Cloud Run-Ziele.

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-Dienst mitGoogle 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.

Funktion erstellen und bereitstellen

Sie können eine Funktion über die Google Cloud Console oder die gcloud CLI bereitstellen. Klicken Sie auf den Tab, um eine Anleitung zum Verwenden des gewünschten Tools zu erhalten.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Zu Cloud Run

  2. Klicken Sie auf Funktion schreiben.

  3. Geben Sie im Feld Dienstname einen Namen ein, um Ihre Funktion zu beschreiben. Dienstnamen müssen mit einem Buchstaben beginnen und dürfen maximal 49 Zeichen lang sein, einschließlich Buchstaben, Ziffern oder Bindestriche. Dienstnamen dürfen nicht auf Bindestriche enden und müssen pro Region und Projekt eindeutig sein. Ein Dienstname kann später nicht mehr geändert werden und ist öffentlich sichtbar.

  4. Verwenden Sie in der Liste Region den Standardwert oder wählen Sie die Region aus, in der Sie Ihre Funktion bereitstellen möchten.

  5. Verwenden Sie in der Liste Laufzeit den Standardwert oder wählen Sie eine Laufzeitversion aus.

  6. Optional: Klicken Sie im Bereich Trigger auf Trigger hinzufügen und wählen Sie eine Option aus. Der Bereich Eventarc-Trigger wird geöffnet. Dort können Sie die folgenden Details für den Trigger ändern:

    1. Geben Sie im Feld Triggername einen Namen für den Trigger ein oder verwenden Sie den Standardnamen.

    2. Wählen Sie in der Liste einen Triggertyp aus, um einen der folgenden Triggertypen anzugeben:

      • Google-Quellen: Hier können Sie Trigger für Pub/Sub, Cloud Storage, Firestore und andere Google-Ereignisanbieter angeben.

      • Benutzerdefiniert, um Ereignisse aus Ihrem Anwendungscode zu erstellen und zu verarbeiten. Folgen Sie der Anleitung im Bereich Eventarc-Trigger, um einen Kanal zu erstellen. Ein Kanal ist eine Ressource, die als Pipeline verwendet wird, um benutzerdefinierte Ereignisse von Erstellern an Nutzer bereitzustellen. Benutzerdefinierte Ereignisse werden in einem Kanal veröffentlicht und ein Eventarc-Trigger abonniert diese Ereignisse.

      • Drittanbieter, um Nicht-Google-Anbieter einzubinden, die eine Eventarc-Quelle anbieten. Weitere Informationen finden Sie unter Drittanbieterereignisse in Eventarc.

    3. Wählen Sie in der Liste einen Ereignisanbieter aus, um ein Produkt auszuwählen, das den Ereignistyp angibt, den Sie für das Auslösen Ihrer Funktion benötigen. Eine Liste der Ereignisanbieter finden Sie unter Ereignisanbieter und -ziele.

    4. Wählen Sie in der Liste einen Ereignistyp aus. Die Triggerkonfiguration variiert je nach unterstütztem Ereignistyp. Weitere Informationen finden Sie unter Ereignistypen.

    5. Wählen Sie im Feld Region einen Speicherort für den Eventarc-Trigger aus. Im Allgemeinen sollte der Standort eines Eventarc-Triggers mit dem Standort der Google Cloud Ressource übereinstimmen, die Sie auf Ereignisse überwachen möchten. In den meisten Szenarien sollten Sie Ihre Funktion auch in derselben Region bereitstellen. Weitere Informationen zu Eventarc-Triggerstandorten finden Sie unter Informationen zu Eventarc-Standorten.

    6. Wählen Sie im Feld Dienstkonto ein Dienstkonto aus. Eventarc-Trigger sind mit Dienstkonten verknüpft, um sie beim Aufrufen Ihrer Funktion als Identität zu verwenden. Das Dienstkonto Ihres Eventarc-Triggers muss die Berechtigung zum Aufrufen Ihrer Funktion haben. Cloud Run verwendet standardmäßig das Compute Engine-Standarddienstkonto.

    7. Geben Sie optional den Dienst-URL-Pfad an, an den die eingehende Anfrage gesendet werden soll. Dies ist der relative Pfad im Zieldienst, an den die Ereignisse für den Trigger gesendet werden sollen. Beispiel: /, /route, route und route/subroute.

    8. Wenn Sie alle erforderlichen Felder ausgefüllt haben, klicken Sie auf Trigger speichern.

  7. Konfigurieren Sie unter Authentifizierung Folgendes:

    • Wenn Sie eine öffentliche HTTP-Funktion erstellen, z. B. einen Webhook, wählen Sie Nicht authentifizierte Aufrufe zulassen aus. Durch Anklicken des Kästchens wird der Sonderkennzeichnung allUser die Rolle "IAM-Invoker" zugewiesen. Sie können die Einstellung mit IAM bearbeiten, nachdem Sie den Dienst erstellt haben. Wenn Sie nicht berechtigt sind (Cloud Run Admin-Rolle), diese Option auszuwählen, wird der Dienst bereitgestellt und erfordert eine Authentifizierung.

    • Wenn Sie eine ereignisgesteuerte Funktion erstellen, wählen Sie Authentifizierung anfordern aus.

  8. Optional können Sie die folgenden zusätzlichen Konfigurationen für Ihre Funktionen aktualisieren:

    1. Legen Sie die Abrechnung nach Bedarf fest.

    2. Geben Sie unter Dienst-Autoscaling nach Bedarf die Mindestanzahl von Instanzen an.

    3. Legen Sie die Steuerung für eingehenden Traffic nach Bedarf fest.

    4. Maximieren Sie den Bereich Container, Volumes, Netzwerk, Sicherheit, um weitere optionale Einstellungen auf den entsprechenden Tabs festzulegen:

  9. Klicken Sie auf Erstellen und warten Sie, bis der Dienst in Cloud Run mit einer Platzhalter-Überarbeitung erstellt wurde.

  10. Die Console leitet Sie zum Tab Quelle weiter, auf dem Sie den Quellcode Ihrer Funktion sehen. Klicken Sie auf Speichern und neu bereitstellen.

  11. Auf dem Tab Quelle können Sie optional auf Nutzlast anzeigen klicken, um eine Beispielnutzlast eingehender Ereignisse zu sehen.

  12. Testen Sie die erstellte Funktion nach der Bereitstellung, indem Sie auf die Schaltfläche Testen klicken.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Aktualisieren Sie die Komponenten von gcloud auf die neueste Version:

    gcloud components update
  3. Führen Sie den folgenden Befehl in dem Verzeichnis aus, das den Beispielcode enthält:

    gcloud beta run deploy FUNCTION \
           --source . \
           --function FUNCTION_ENTRYPOINT \
           --base-image BASE_IMAGE \
           --region REGION
    

    Ersetzen Sie:

    • FUNCTION durch den Namen der Funktion, die Sie bereitstellen. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Namen gefragt.

    • FUNCTION_ENTRYPOINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode. Dies ist der Code, der von Cloud Run ausgeführt wird, wenn Ihre Funktion ausgeführt wird. Der Wert dieses Flags muss ein Funktionsname oder ein voll qualifizierter Klassenname sein, der in Ihrem Quellcode vorhanden ist.

    • BASE_IMAGE durch die Umgebung des Basis-Images für Ihre Funktion. Weitere Informationen zu Basis-Images und den in den einzelnen Images enthaltenen Paketen finden Sie unter Laufzeit-Basis-Images.

    • REGION mit der Google Cloud Region, in der Sie die Funktion bereitstellen möchten. Beispiel: us-central1

    Optional:

    • Wenn Sie eine öffentliche HTTP-Funktion erstellen, z. B. einen Webhook, geben Sie das Flag --allow-unauthenticated an. Mit diesem Flag wird der Sonderkennzeichnung allUser die Rolle „Cloud Run IAM Invoker“ zugewiesen. Sie können die Einstellung mit IAM bearbeiten, nachdem Sie den Dienst erstellt haben. Wenn Sie eine ereignisgesteuerte Funktion oder einen authentifizierten Dienst erstellen, können Sie dieses Flag weglassen.

Optional können Sie Ihrer Funktion nach der Bereitstellung Eventarc-Trigger hinzufügen. Führen Sie den folgenden Befehl aus, um einen Trigger hinzuzufügen:

  gcloud eventarc triggers create EVENTARC_TRIGGER_NAME \
      --location=EVENTARC_TRIGGER_LOCATION \
      --destination-run-service=FUNCTION \
      --destination-run-region=REGION \
      --event-filters="type=EVENTARC_FILTER_TYPE" \
      --event-filters="EVENTARC_EVENT_FILTER" \
      --service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT

Ersetzen Sie:

  • EVENTARC_TRIGGER_NAME durch den Namen des Eventarc-Triggers.

  • EVENTARC_TRIGGER_LOCATION durch den Standort für den Eventarc-Trigger. Im Allgemeinen sollte der Standort eines Eventarc-Triggers mit dem Standort der Google Cloud Ressource übereinstimmen, die Sie auf Ereignisse überwachen möchten. In den meisten Szenarien sollten Sie Ihre Funktion auch in derselben Region bereitstellen. Weitere Informationen zu Eventarc-Triggerstandorten finden Sie unter Informationen zu Eventarc-Standorten.

  • FUNCTION durch den Namen Ihrer bereitgestellten Funktion.

  • REGION durch die Cloud Run-Region der Funktion.

  • EVENTARC_FILTER_TYPE durch die Ereignisfilter, die der Trigger überwacht. Ein Ereignis, das mit allen --event-filters-Filtern übereinstimmt, löst Aufrufe Ihrer Funktion aus. Jeder Trigger muss einen unterstützten Ereignistyp vom Typ --event-filters="type=EVENTARC_FILTER_TYPE" haben. Dieser Ereignistyp kann nach dem Erstellen nicht mehr geändert werden. Wenn Sie EVENT_FILTER_TYPE ändern möchten, erstellen Sie einen neuen Trigger und löschen Sie den alten. Optional können Sie das Flag --event-filters mit einem unterstützten Filter im Format ATTRIBUTE=VALUE wiederholen, um weitere Filter hinzuzufügen.

  • EVENTARC_TRIGGER_SERVICE_ACCOUNT durch ein Dienstkonto. Eventarc-Trigger sind mit Dienstkonten verknüpft, um sie beim Aufrufen Ihrer Funktion als Identität zu verwenden. Das Dienstkonto Ihres Eventarc-Triggers muss die Berechtigung zum Aufrufen Ihrer Funktion haben. Cloud Run verwendet standardmäßig das Compute-Standarddienstkonto.

Terraform

Wenn Sie Funktionen mit Terraform verwalten möchten, müssen Sie Ihren Funktionscode in ein Container-Image einbinden und dann Ihren Cloud Run-Dienst in einer Terraform-Konfiguration mithilfe der Ressource google_cloud_run_v2_service des Google Cloud-Anbieters definieren.

  1. Folgen Sie der Anleitung zum Erstellen einer Funktion von Grund auf, um ein Container-Image zu erstellen, das mit automatischen Sicherheitsupdates kompatibel ist. Kopieren Sie den vollständigen Pfad des Container-Images für die Variable IMAGE_URL, die im nächsten Schritt verwendet wird.

  2. Erstellen Sie eine neue main.tf-Datei mit folgendem Inhalt:

    provider "google" {
      project = "PROJECT-ID"
    }
    
    resource "google_cloud_run_v2_service" "default" {
      name     = "SERVICE"
      location = "REGION"
      client   = "terraform"
      template {
        containers {
          name = "SERVICE"
          image = "IMAGE_URL"
          base_image_uri = "BASE_IMAGE"
        }
      }
    }
    build_config{
      function_target = "FUNCTION_TARGET"
      image_uri = "IMAGE_URL"
      base_image = "BASE_IMAGE"
      enable_automatic_updates = true
    }
    resource "google_cloud_run_v2_service_iam_member" "noauth" {
      location = google_cloud_run_v2_service.default.location
      name     = google_cloud_run_v2_service.default.name
      role     = "roles/run.invoker"
      member   = "allUsers"
    }
    

    Ersetzen Sie:

    • PROJECT-ID durch die Google Cloud Projekt-ID.
    • REGION mit der Region Google Cloud .
    • SERVICE durch den Namen Ihres Cloud Run-Dienstes. Dienstnamen dürfen maximal 49 Zeichen lang sein und pro Region und Projekt nur einmal vorkommen.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Wenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • BASE_IMAGE durch einen Verweis auf das Basis-Image, z. B. us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22:public-image-current. Eine Liste der unterstützten Laufzeiten und ihrer Basis-Images finden Sie unter Laufzeit-Basis-Images.
    • FUNCTION_TARGET durch den Namen der Funktion, die Sie als Einstiegspunkt verwenden möchten.

    Diese Konfiguration ermöglicht öffentlichen Zugriff (entspricht --allow-unauthenticated). Wenn Sie den Dienst privat machen möchten, entfernen Sie die google_cloud_run_v2_service_iam_member-Stanza.

  3. Initialisieren Sie Terraform:

    terraform init
  4. Wenden Sie die Terraform-Konfiguration an:

    terraform apply

    Bestätigen Sie, dass Sie die beschriebenen Aktionen anwenden möchten, indem Sie yes eingeben.

Cloud Run-Standorte

Cloud Run ist regional. Die Infrastruktur, in der die Cloud Run-Dienste ausgeführt werden, befindet sich demnach in einer bestimmten Region. Aufgrund der Verwaltung durch Google sind die Anwendungen in allen Zonen innerhalb dieser Region redundant verfügbar.

Bei der Auswahl der Region, in der Ihre Cloud Run-Dienste ausgeführt werden, ist vorrangig, dass die Anforderungen hinsichtlich Latenz, Verfügbarkeit oder Langlebigkeit erfüllt werden. Sie können im Allgemeinen die Region auswählen, die Ihren Nutzern am nächsten ist. Sie sollten dabei jedoch auch den Standort der anderen Google Cloud Produkte berücksichtigen, die der Cloud Run-Dienst verwendet. Die gemeinsame Nutzung von Google Cloud Produkten an mehreren Standorten kann sich auf die Latenz und die Kosten Ihres Dienstes auswirken.

Cloud Run ist in diesen Regionen verfügbar:

Unterliegt Preisstufe 1

Unterliegt Preisstufe 2

Wenn Sie bereits einen Cloud Run-Dienst erstellt haben, können Sie dessen Region im Cloud Run-Dashboard der Google Cloud Console aufrufen.

Ereigniswiederholungen aktivieren

Eventarc verwendet Pub/Sub als Transportschicht und hat eine Standardwiederholrichtlinie, die für Ihre Funktion möglicherweise nicht geeignet ist.

Nachdem Sie einen Eventarc-Trigger erstellt haben, empfehlen wir Ihnen dringend, die Wiederholrichtlinie in Eventarc zu aktualisieren und ein Thema für unzustellbare Nachrichten in Pub/Sub zu konfigurieren.

Image-Repository angeben

Bei Cloud Run-Funktionsbereitstellungen wird Artifact Registry zum Speichern von Artefakten und zum Verwalten von Container-Images verwendet. Artifact Registry erstellt automatisch das Artifact Registry-Repository REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy, falls in Ihrem Projekt noch keines mit diesem Namen vorhanden ist.

Verwenden Sie den folgenden Befehl, um ein selbst erstelltes Artifact Registry-Repository anzugeben:

gcloud

gcloud beta run deploy FUNCTION \
  --source . \
  --function FUNCTION_ENTRYPOINT \
  --base-image BASE_IMAGE \
  --region REGION \
  --image IMAGE_URL

Ersetzen Sie Folgendes:

  • FUNCTION durch den Namen der Funktion, die Sie bereitstellen. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Namen gefragt.

  • FUNCTION_ENTRYPOINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode. Dies ist der Code, der von Cloud Run ausgeführt wird, wenn Ihre Funktion ausgeführt wird. Der Wert dieses Flags muss ein Funktionsname oder ein voll qualifizierter Klassenname sein, der in Ihrem Quellcode vorhanden ist.

  • BASE_IMAGE durch die Umgebung des Basis-Images für Ihre Funktion. Weitere Informationen zu Basis-Images und den in den einzelnen Images enthaltenen Paketen finden Sie unter Laufzeit-Basis-Images.

  • REGION mit der Google Cloud Region, in der Sie die Funktion bereitstellen möchten. Beispiel: us-central1

  • IMAGE_URL durch einen Verweis auf den Imagepfad mit dem Artifact Registry-Image-Repository Ihrer Wahl, z. B. projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/FUNCTION. Der Bildname muss mit dem Namen der Funktion übereinstimmen, die Sie erstellen möchten. Wenn nur der Repository-Pfad angegeben ist, wird das Image mit dem Funktionsnamen FUNCTiON erstellt.

Wenn Sie ein Artifact Registry-Repository in einem anderen Projekt oder einer anderen Region angeben, müssen Sie Folgendes beachten:

IAM-Konfigurationen:

  • Sie müssen IAM-Berechtigungen für die Bereitstellung von Images aus anderen Google Cloud Projekten konfiguriert haben.
  • Außerdem muss das Build-Dienstkonto Lese- und Schreibzugriff auf REPOSITORY haben.

Netzwerkkonfigurationen:

  • Prüfen Sie, ob das Ziel REPOSITORY von der aktuellen Projektkonfiguration aus erreichbar ist.

VPC Service Controls-Konfigurationen:

  • Das Build-Dienstkonto muss das Ziel REPOSITORY innerhalb des VPC-SC-Perimeters erreichen können.

Einschränkungen für den Datenstandort:

  • Wenn Sie eine REPOSITORY in einer anderen Region angeben als der, in der sich Ihre Funktion befindet, kommt es zu einer Datenübertragung zwischen Regionen.

Vorhandene Funktion ändern

Sie können entweder die Konfiguration oder den Code Ihrer Funktion ändern:

Konfiguration ändern

Wenn Sie Konfigurationsparameter wie Abrechnungsoptionen, Arbeitsspeicher und VPC-Konnektivität ändern möchten, folgen Sie der Anleitung auf dem entsprechenden Tab:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Zu Cloud Run

  2. Klicken Sie in der Übersicht auf den zu aktualisierenden Dienst, um dessen Details anzuzeigen.

  3. Klicken Sie auf Neue Überarbeitung bearbeiten und bereitstellen, um das Formular für die Bereitstellung der Überarbeitung aufzurufen.

  4. Konfigurationseinstellungen ändern.

  5. Klicken Sie auf Bereitstellen und warten Sie, bis die Bereitstellung abgeschlossen ist.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Wenn Sie eine oder mehrere Dienstkonfigurationseinstellungen aktualisieren möchten, verwenden Sie den Befehl gcloud beta run services update SERVICE mit den Befehlszeilen-Flags der Konfiguration, die Sie aktualisieren möchten. Ersetzen Sie SERVICE durch den Namen des Dienstes.

Neuen Quellcode neu bereitstellen

Sie können das Basis-Image, die Laufzeit und den Quellcode Ihrer Funktion entweder über die Google Cloud Console oder die gcloud CLI ändern.

Klicken Sie auf den Tab, um eine Anleitung zum gewünschten Tool zu erhalten.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Zu Cloud Run

  2. Klicken Sie in der Liste Dienste auf die zu aktualisierende Funktion, um ihre Details anzuzeigen.

  3. Rufen Sie den Tab Quelle auf und klicken Sie auf Quelle bearbeiten.

  4. Klicken Sie neben Basis-Image auf Laufzeit- und Sicherheitsupdates bearbeiten, wählen Sie bei Bedarf eine andere Laufzeit oder Umgebung aus der Liste aus und klicken Sie auf Speichern.

  5. Ändern Sie den Funktionseinstiegspunkt nach Bedarf.

  6. Wählen Sie im Bereich Dateien die Option Datei hinzufügen aus, um eine neue Datei zu erstellen, Datei umbenennen, um eine Datei umzubenennen, oder Datei löschen, um eine Datei zu löschen.

  7. Ändern Sie den Quellcode im Abschnitt Code nach Bedarf.

  8. Klicken Sie auf Speichern und neu bereitstellen und warten Sie, bis die Bereitstellung abgeschlossen ist.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Führen Sie den folgenden Befehl in dem Verzeichnis aus, das den Quellcode der Funktion enthält:

    gcloud beta run deploy FUNCTION \
           --source . \
           --function FUNCTION_ENTRYPOINT \
           --base-image BASE_IMAGE \
           --region REGION
    

    Ersetzen Sie:

    • FUNCTION durch den Namen der Funktion, die Sie ändern möchten.

    • FUNCTION_ENTRYPOINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode.

    • BASE_IMAGE durch die Umgebung des Basis-Images für Ihre Funktion. In den meisten Fällen können Sie die Laufzeit-ID angeben, z. B. nodejs22.

      Wenn Sie stattdessen ein bestimmtes Systempaket im Stack verwenden oder die Region angeben möchten, aus der das Basis-Image heruntergeladen wird, können Sie eine der folgenden Optionen angeben:

      • Der vollständige Pfad zum Basis-Image, z. B. us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22. Mit dieser Option können Sie das Basis-Image, ein bestimmtes Systempaket im Stack und die Region angeben, aus der das Basis-Image heruntergeladen wird.
      • Der Alias des vollständigen Pfads zum Basis-Image, z. B. google-22/nodejs22 oder google-22-full/nodejs22. Mit dieser kürzeren Aliasoption können Sie das Basis-Image und ein bestimmtes Systempaket im Stack angeben.

      Weitere Informationen zu Basis-Images und den in den einzelnen Images enthaltenen Paketen finden Sie unter Laufzeit-Basis-Images.

    • REGION mit der Google Cloud Region, in der Sie die Funktion bereitstellen möchten. Beispiel: us-central1

    Optionale Flags

    Sie können die folgenden optionalen Flags konfigurieren, während Sie Ihre Funktion ändern:

    • Build-Umgebungsvariablen: Flags zum Angeben von Umgebungsvariablen während des Build-Schritts, z. B. zum Konfigurieren von Buildzeit-spezifischen Zertifikaten oder Parametern.

    • Worker-Pool-Flags, mit denen angegeben wird, welcher Worker-Pool im Build-Kontext mit VPC Service Controls verwendet werden soll.

    • Flags für benutzerdefinierte Build-Dienstkonten, mit denen eine Alternative zum Standard-Build-Dienstkonto für mehr Sicherheit angegeben werden kann.

    • Mit dem Flag Automatic base image updates (Automatische Basis-Image-Updates) können Sie automatische Updates deaktivieren. Für Funktionen sind standardmäßig automatische Sicherheitsupdates aktiviert.

Nächste Schritte

Nachdem Sie eine neue Funktion bereitgestellt haben, können Sie Folgendes tun: