Funktion bereitstellen

In dieser Anleitung erfahren Sie, wie Sie eine Funktion mit dem Befehl gcloud functions aus dem Quellcode bereitstellen. Informationen zum Bereitstellen einer Funktion mit dem Befehl gcloud run finden Sie unter Cloud Run-Funktion mit der gcloud CLI bereitstellen.

Beim Bereitstellungsprozess werden die Quellcode- und Konfigurationseinstellungen verwendet und ein ausführbares Image erstellt, das von Cloud Run Functions automatisch verwaltet wird, um Anfragen an die Funktion zu verarbeiten.

Bereitstellungsgrundlagen

Eine Einführung in die Arten von Funktionen, die Sie bereitstellen können, finden Sie unter Cloud Run-Funktionen schreiben.

Nutzer, die Funktionen bereitstellen, müssen die IAM-Rolle Cloud Functions-Entwickler oder eine Rolle mit denselben Berechtigungen haben. Siehe auch Zusätzliche Konfiguration für die Bereitstellung.

  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. Verwenden Sie den Befehl gcloud functions deploy, um eine Funktion bereitzustellen:

    gcloud functions deploy YOUR_FUNCTION_NAME \
       --region=YOUR_REGION \
       --runtime=YOUR_RUNTIME \
       --source=YOUR_SOURCE_LOCATION \
       --entry-point=YOUR_CODE_ENTRYPOINT \
       TRIGGER_FLAGS
    

    Das erste Argument, YOUR_FUNCTION_NAME, ist ein Name für Ihre bereitgestellte Funktion. Der Name muss mit einem Buchstaben beginnen, gefolgt von bis zu 62 Buchstaben, Ziffern, Bindestrichen oder Unterstrichen. Das letzte Zeichen muss ein Buchstabe oder eine Ziffer sein. Unterstreichungen werden im Namen des Cloud Run-Dienstes, der für Ihre Funktion erstellt wird, durch Bindestriche ersetzt und Großbuchstaben werden in Kleinbuchstaben umgewandelt. Function_1 erhält beispielsweise den Namen function-1 in Cloud Run.

    • Das Flag --region gibt die Region an, in der die Funktion bereitgestellt werden soll. Eine Liste der von Cloud Run unterstützten Regionen finden Sie unter Standorte.

    • Das Flag --runtime gibt an, welche Sprachlaufzeit die Funktion verwendet. Eine Liste der unterstützten Laufzeit-IDs finden Sie unter Laufzeitunterstützung.

    • Das Flag --source gibt den Speicherort des Quellcodes der Funktion an.

    • Das Flag --entry-point gibt den Einstiegspunkt für die Funktion in Ihrem Quellcode an. Dies ist der Code, der beim Ausführen der Funktion ausgeführt wird. Der Wert dieses Flags muss ein Funktionsname oder ein voll qualifizierter Klassenname sein, der in Ihrem Quellcode vorhanden ist. Weitere Informationen finden Sie unter Funktionseinstiegspunkt.

    • Zum Festlegen des Triggers für Ihre Funktion sind je nach gewünschtem Trigger zusätzliche Flags (TRIGGER_FLAGS oben dargestellt) erforderlich:

      Trigger-Flags Triggerbeschreibung
      --trigger-http Funktion mit einer HTTP(S)-Anfrage auslösen
      --trigger-topic=YOUR_PUBSUB_TOPIC Lösen Sie die Funktion aus, wenn eine Nachricht im angegebenen Pub/Sub-Thema veröffentlicht wird.
      --trigger-bucket=YOUR_STORAGE_BUCKET Lösen Sie die Funktion aus, wenn ein Objekt im angegebenen Cloud Storage-Bucket erstellt oder überschrieben wird.
      --trigger-event-filters=EVENTARC_EVENT_FILTERS Lösen Sie die Funktion mit Eventarc aus, wenn ein Ereignis mit den angegebenen Filtern übereinstimmt.

      Eine vollständige Referenz zum Bereitstellungsbefehl und seinen Flags finden Sie in der Dokumentation zu gcloud functions deploy.

      Weitere Informationen zu gcloud functions deploy-Konfigurationsflags finden Sie in der Cloud Run-Dokumentation.

Wenn die Bereitstellung erfolgreich abgeschlossen wurde, werden Funktionen mit einem grünen Häkchen auf der Cloud Run-Übersichtsseite in der Google Cloud Console angezeigt.

Die anfängliche Bereitstellung einer Funktion kann einige Minuten dauern, während die zugrunde liegende Infrastruktur bereitgestellt wird. Die erneute Bereitstellung einer vorhandenen Funktion ist schneller und der eingehende Traffic wird automatisch zur neuesten Version migriert.

HTTP-Endpunkt-URL

Wenn Sie eine Funktion mit dem Befehl gcloud functions oder der Cloud Functions V2 API erstellen, hat die Funktion standardmäßig eine cloudfunctions.net-HTTP-Endpunkt-URL. Wenn Sie diese Funktion in Cloud Run bereitstellen, erhält sie auch eine run.app-HTTP-Endpunkt-URL. In Cloud Run erstellte Funktionen haben jedoch keine cloudfunctions.net-HTTP-Endpunkt-URL. Die cloudfunctions.net-URL und die run.app-URL einer Funktion verhalten sich genau gleich. Sie sind austauschbar und werden verwendet, um Ihre Funktion auszulösen.

Terraform-Beispiele

Beispiele zum Bereitstellen von Funktionen mit Terraform finden Sie im Terraform-HTTP-Beispiel und im Terraform-Pub/Sub-Beispiel.

Cloud Run-Funktionen in Cloud Run bereitstellen

Das Bereitstellen von Funktionen in Cloud Run ähnelt den in diesem Dokument beschriebenen Schritten, bietet aber einige zusätzliche Vorteile: