Guide de démarrage rapide : Créer et déployer une fonction Cloud .NET

Créer et déployer une fonction Cloud .NET

Cloud Functions est un environnement d'exécution sans serveur permettant de créer et de connecter des services cloud. Avec Cloud Functions, vous pouvez écrire des fonctions simples à application unique qui sont associées à des événements émis par votre infrastructure et vos services cloud. Une fonction est déclenchée lorsqu'une requête HTTP est reçue en externe ou qu'un événement surveillé est lancé.

Découvrez comment créer et déployer une fonction Cloud .NET Core 3.1 à l'aide de Cloud Console.


Pour obtenir des conseils détaillés sur cette tâche directement dans Cloud Console, cliquez sur Visite guidée:

VISITE GUIDÉE


La procédure décrite dans les sections suivantes, est la même que si vous cliquez sur Visite guidée.

Lorsque cette fonction C# est déclenchée par une requête HTTP, elle renvoie un message :

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!");
        }
    }
}

Avant de commencer

  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

Créer une fonction

  1. Ouvrez la page de présentation de Cloud Functions dans Cloud Console :

    Accéder à la page de présentation de Cloud Functions

    Vérifiez que le projet pour lequel vous avez activé Cloud Functions est sélectionné.

  2. Cliquez sur Create function.

  3. Attribuez un nom à votre fonction.

  4. Dans le champ Trigger (Déclencheur), sélectionnez HTTP.

  5. Dans le champ Authentication (Authentification), cochez Allow unauthenticated invocations (Autoriser les appels non authentifiés).

  6. Cliquez sur Save (Enregistrer) pour enregistrer vos modifications, puis sur Next (Suivant).

  7. Dans le champ Source code (Code source), sélectionnez Inline editor (Éditeur intégré). Dans cet exercice, vous utiliserez la fonction fournie par défaut dans l'éditeur.

  8. Dans la liste déroulante Environnement d'exécution, sélectionnez l'environnement d'exécution .NET Core 3.1.

Déployer la fonction

  1. Au bas de la page, cliquez sur Deploy (Déployer).

  2. Une fois que vous avez cliqué sur Deploy, Cloud Console vous redirige vers la page de présentation de Cloud Functions.

    Pendant le déploiement de la fonction, une icône de chargement s'affiche juste à côté. Une fois le déploiement terminé, l'icône se transforme en coche verte :

    Capture d'écran montrant le processus de déploiement d'une fonction

Tester la fonction

  1. Affichez le menu de votre fonction et cliquez sur Tester la fonction.

    Capture d'écran montrant le processus de test d'une fonction

  2. Sur la page de test, cliquez sur Tester la fonction.

    L'écran Résultat affiche le texte "Hello World!".

  3. Modifiez désormais le message. Dans le champ Événement déclencheur, saisissez le texte {"message":"Hello, YOUR_NAME!"}, en remplaçant YOUR_NAME par un nom, puis cliquez sur Tester la fonction.

    Par exemple, supposons que vous ayez saisi le nom "Rowan". Dans le champ Résultat, le message Hello, Rowan! apparaît.

    Dans le champ Journaux, le code d'état 200 indique que la fonction a bien été exécutée.

    Capture d'écran montrant le champ "Journaux" avec le code 200, signe de succès

Afficher les journaux

Consultez les journaux pour afficher vos actions dans l'historique :

  • De retour sur la page de présentation de Cloud Functions, affichez le menu correspondant à votre fonction et cliquez sur Afficher les journaux.

Votre historique de journal apparaît.

Capture d'écran montrant le champ "Journaux" avec le code 200, signe de succès

Étapes suivantes