HTTP-Cloud Functions-Funktion mit .NET erstellen und bereitstellen
In dieser Anleitung erfahren Sie, wie Sie mit der .NET-Laufzeitsprache C# eine Cloud Functions-Funktion schreiben. Es gibt zwei Arten von Cloud 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 Cloud Pub/Sub-Thema oder Änderungen in einem Cloud Storage-Bucket.
Inhaltsverzeichnis
- Google Cloud-Projekt mit der gcloud CLI erstellen
- Funktion erstellen
- Abhängigkeiten angeben
- Funktion bereitstellen
- Bereitgestellte Funktion testen
- Logs ansehen
- Functions Framework verwenden
Google Cloud-Projekt mit der gcloud CLI erstellen
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Functions and Cloud Build APIs aktivieren.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Functions and Cloud Build APIs aktivieren.
- 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 Functions 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 bereitstellen
Führen Sie den folgenden Befehl im Verzeichnis helloworld
aus, um die Funktion mit einem HTTP-Trigger bereitzustellen:
gcloud functions deploy my-first-function --entry-point HelloWorld.Function --runtime dotnet6 --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.
Bereitgestellte Funktion testen
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
Befehlszeilentool verwenden
Logs für Cloud Functions können über die Cloud Logging-UI und die Google Cloud CLI aufgerufen werden.
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 Functions 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