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.
-
In the Google Cloud console, 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.
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 Namenfunction-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:
- Sie können die Google Cloud Console und die gcloud CLI (
gcloud run deploy
) verwenden. - Die Schritte zum Festlegen von Triggern unterscheiden sich geringfügig. Weitere Informationen finden Sie unter Trigger und Wiederholungen und Beispiele für Funktionstrigger.
- Cloud Run bietet eine breitere Palette an Konfigurationsoptionen: