Kurzanleitung: .NET Cloud Functions-Funktion erstellen und bereitstellen

.NET-Cloud-Funktion erstellen und bereitstellen

Cloud Functions ist eine serverlose Ausführungsumgebung zum Erstellen und Verbinden von Cloud-Diensten. Mit Cloud Functions schreiben Sie einfache Funktionen, die einem einzigen Zweck dienen und an Ereignisse gebunden sind, die von Ihrer Cloudinfrastruktur und Ihren Diensten ausgegeben werden. Die Funktion wird ausgelöst, wenn eine HTTP-Anfrage extern empfangen oder ein beobachtetes Ereignis ausgelöst wird.

Erfahren Sie, wie Sie eine Cloud Functions-Funktion für .NET Core 3.1 mit der Cloud Console erstellen und bereitstellen.


Eine detaillierte Anleitung zu dieser Aufgabe finden Sie direkt in der Cloud Console. Klicken Sie dazu einfach auf Anleitung:

Anleitung


Die folgenden Abschnitte führen Sie durch dieselben Schritte wie das Klicken auf Anleitung.

Wenn diese C#-Funktion durch eine HTTP-Anfrage ausgelöst wird, schreibt sie eine Nachricht:

using Google.Cloud.Functions.Framework;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System.IO;
using System.Text.Json;
using System.Threading.Tasks;

namespace SimpleHttpFunction
{
    public class Function : IHttpFunction
    {
        private readonly ILogger _logger;

        public Function(ILogger<Function> logger) =>
            _logger = logger;

        public async Task HandleAsync(HttpContext context)
        {
            HttpRequest request = context.Request;
            // Check URL parameters for "message" field
            string message = request.Query["message"];

            // If there's a body, parse it as JSON and check for "message" field.
            using TextReader reader = new StreamReader(request.Body);
            string text = await reader.ReadToEndAsync();
            if (text.Length > 0)
            {
                try
                {
                    JsonElement json = JsonSerializer.Deserialize<JsonElement>(text);
                    if (json.TryGetProperty("message", out JsonElement messageElement) &&
                        messageElement.ValueKind == JsonValueKind.String)
                    {
                        message = messageElement.GetString();
                    }
                }
                catch (JsonException parseException)
                {
                    _logger.LogError(parseException, "Error parsing JSON request");
                }
            }

            await context.Response.WriteAsync(message ?? "Hello World!");
        }
    }
}

Hinweis

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Functions and Cloud Build APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Functions and Cloud Build APIs.

    Enable the APIs

Funktion erstellen

  1. Rufen Sie in der Cloud Console die Übersichtsseite von Cloud Functions auf:

    Zur Seite „Cloud Functions“

    Achten Sie darauf, dass das Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Klicken Sie auf Funktion erstellen.

  3. Benennen Sie Ihre Funktion.

  4. Wählen Sie im Feld Trigger die Option HTTP aus.

  5. Wählen Sie im Feld Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.

  6. Klicken Sie auf Speichern, um die Änderungen zu speichern, und dann auf Weiter.

  7. Wählen Sie im Feld Quellcode den Inline-Editor aus. In dieser Übung verwenden Sie die im Editor enthaltene Standardfunktion.

  8. Wählen Sie im Drop-down-Menü Laufzeit die .NET Core 3.1-Laufzeit aus.

Funktion implementieren

  1. Klicken Sie unten auf der Seite auf Bereitstellen.

  2. Nachdem Sie auf Bereitstellen geklickt haben, werden Sie von der Cloud Console auf die Übersichtsseite von Cloud Functions weitergeleitet.

    Während die Funktion implementiert wird, ist daneben ein kleines Wartesymbol zu sehen. Nach der Bereitstellung wird ein grünes Häkchen angezeigt.

    Screenshot zum Ablauf der Funktionsbereitstellung

Funktion testen

  1. Rufen Sie das Menü für Ihre Funktion auf und klicken Sie auf Funktion testen.

    Grafik: Screenshot zum Ablauf von Funktionstests

  2. Klicken Sie auf der Testseite auf Funktion testen.

    Der Bildschirm Ausgabe zeigt den Text "Hello World!" an.

  3. Ändern Sie nun die Nachricht. Geben Sie im Feld Auslösendes Ereignis den Text {"message":"Hello, YOUR_NAME!"} ein. Ersetzen Sie dabei YOUR_NAME durch einen Namen und klicken Sie auf Funktion testen.

    Angenommen, Sie haben den Namen "Rowan" eingegeben. Im Feld Ausgabe wird dann die Nachricht Hello, Rowan! angezeigt.

    Im Feld Logs wird ein erfolgreicher Test mit dem Statuscode 200 angezeigt.

    Grafik: Screenshot mit dem Feld "Logs" und dem Code 200, der einen erfolgreichen Test anzeigt

Logs ansehen

Im Logverlauf können Sie Ihre Aktionen sehen:

  • Rufen Sie auf der Übersichtsseite von Cloud Functions das Menü für die Funktion auf und klicken Sie auf Logs ansehen.

Der Logverlauf wird angezeigt.

Grafik: Screenshot mit dem Feld "Logs" und dem Code 200, der einen erfolgreichen Test anzeigt

Weitere Informationen