HTTP-Cloud Run Functions-Funktion mit .NET (1. Generation) erstellen und bereitstellen
In dieser Anleitung erfahren Sie, wie Sie mit der .NET-Laufzeitsprache C# eine Cloud Run-Funktion schreiben. Es gibt zwei Arten von Cloud Run Functions-Funktionen:
- Eine durch HTTP ausgelöste Funktion, die Sie über Standard-HTTP-Anfragen aufrufen.
- Eine durch ein Ereignis ausgelöste Funktion, mit der Sie Ereignisse aus Ihrer Cloud-Infrastruktur verarbeiten können, z. B. Nachrichten in einem Pub/Sub-Thema oder Änderungen in einem Cloud Storage-Bucket.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
- Installieren und initialisieren Sie die gcloud CLI.
- Aktualisieren und installieren Sie
gcloud
-Komponenten:gcloud components update
- Bereiten Sie die Entwicklungsumgebung vor.
Funktion erstellen
In diesem Abschnitt wird beschrieben, wie Sie eine neue Funktion manuell erstellen. Alternativ können Sie die Vorlagen verwenden, die vom Vorlagenpaket bereitgestellt werden.
So erstellen Sie eine Funktion:
Erstellen Sie in Ihrem lokalen System ein Verzeichnis für den Funktionscode:
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux oder MacOS X
mkdir ~/helloworld cd ~/helloworld
Erstellen Sie eine Datei mit dem Namen
Function.cs
und folgendem Inhalt:Diese Beispielfunktion gibt die Begrüßung „Hello World!“ aus.
Abhängigkeiten angeben
Im nächsten Schritt werden die Abhängigkeiten eingerichtet: In C# Cloud Run-Funktionen können Sie zwei verschiedene Arten von Abhängigkeiten einrichten:
- Das Functions Framework zur Verfügung stellen. Das ist die Aufgabe, die Sie in diesem Abschnitt ausführen.
- Andere Bibliotheken in Form von Projektdateien und innerhalb des Codes durch Abhängigkeitsinjektion zur Verfügung stellen. Weitere Informationen finden Sie unter Anpassung über Functions-Startklassen.
Damit Sie das Functions Framework zur Verfügung stellen können, wechseln Sie zum Verzeichnis helloworld
, das Sie oben erstellt haben:
cd ~/helloworld
Erstellen Sie dann eine Datei mit dem Namen HelloWorld.csproj
und folgendem Inhalt:
Funktion implementieren
Führen Sie den folgenden Befehl im Verzeichnis helloworld
aus, um die Funktion mit einem HTTP-Trigger bereitzustellen:
gcloud functions deploy --no-gen2 my-first-function --entry-point HelloWorld.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
Dabei ist my-first-function
der registrierte Name, mit dem die Funktion in der Google Cloud Console identifiziert wird, und --entry-point
der vollständig qualifizierter Klassennamen (FQN) der Funktion.
So testen Sie die bereitgestellte Funktion
Notieren Sie sich nach der Bereitstellung der Funktion das Attribut von
httpsTrigger.url
oder suchen Sie es mit diesem Befehl:gcloud functions describe my-first-function
Dies sollte so aussehen:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Rufen Sie diese URL in Ihrem Browser auf: Die Meldung
Hello World!
sollte angezeigt werden.
Logs ansehen
Logs für Cloud Run Functions-Funktionen können über die Google Cloud CLI und in der Cloud Logging-UI aufgerufen werden.
Befehlszeilentool verwenden
Wenn Sie mit der gcloud CLI Logs für Ihre Funktion aufrufen möchten, verwenden Sie den Befehl logs read
, gefolgt vom Namen der Funktion:
gcloud functions logs read my-first-function
Die Ausgabe sollte in etwa so aussehen:
LEVEL NAME EXECUTION_ID TIME_UTC LOG D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.791 Function execution started D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.958 Function execution took 168 ms, finished with status code: 200 ...
Logging-Dashboard verwenden
Sie können Logs für Cloud Run Functions-Funktionen auch über die Google Cloud Console aufrufen.
Vorlagenpaket verwenden
In den obigen Abschnitten erfahren Sie, wie Sie manuell eine Funktion erstellen. In Zukunft verwenden Sie Vorlagen, um neue Funktionen zu erstellen.
So erstellen und testen Sie eine Funktion mithilfe der Vorlagen:
Installieren Sie das .NET SDK.
Installieren Sie das Vorlagenpaket:
dotnet new install Google.Cloud.Functions.Templates
Erstellen Sie dann ein Verzeichnis für Ihr Projekt und verwenden Sie
dotnet new
, um eine neue HTTP-Funktion zu erstellen:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Dadurch werden
HelloFunctions.csproj
undFunction.cs
im aktuellen Verzeichnis erstellt. Öffnen SieFunction.cs
, um den Code zu prüfen, und geben Sie bei Bedarf eine benutzerdefinierte Nachricht ein.So erstellen Sie die Funktion lokal:
dotnet run
Sobald der Server ausgeführt wird, wechseln Sie zu
http://localhost:8080
, um die Funktion aufzurufen. Drücken Sie in der Konsole „Strg + C“, um den Server anzuhalten.Diese Funktion zeigt die Nachricht „Hello Functions Framework“ an.
Alternativ können Sie Anfragen mit curl
von einem anderen Terminalfenster aus an diese Funktion senden:
curl localhost:8080
# Output: Hello Functions Framework