Guida rapida: creazione e deployment di una funzione Cloud .NET

Creazione e deployment di una funzione Cloud .NET

Cloud Functions è un ambiente di esecuzione serverless per la creazione e la connessione di servizi cloud. Con Cloud Functions puoi scrivere funzioni semplici a uso specifico che vengono collegate agli eventi generati dall'infrastruttura e dai servizi cloud. La funzione viene attivata quando viene ricevuta una richiesta HTTP esternamente o viene attivato un evento controllato.

Scopri come creare e sottoporre a deployment una Funzione Cloud .NET Core 3.1 utilizzando Cloud Console.


Per istruzioni dettagliate su questa attività direttamente in Cloud Console, fai clic su Procedura guidata:

Procedura guidata


Le sezioni seguenti ti consentono di svolgere la stessa procedura del clic su Procedura guidata.

Quando questa funzione C# viene attivata da una richiesta HTTP, scrive un messaggio:

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

Prima di iniziare

  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

Crea una funzione

  1. Apri la pagina Panoramica delle funzioni in Cloud Console:

    Vai alla pagina Panoramica di Cloud Functions

    Assicurati che sia selezionato il progetto per cui hai abilitato Cloud Functions.

  2. Fai clic su Crea funzione.

  3. Assegna un nome alla funzione.

  4. Nel campo Trigger, seleziona HTTP.

  5. Nel campo Autenticazione, seleziona Consenti chiamate non autenticate.

  6. Fai clic su Salva per salvare le modifiche, quindi fai clic su Avanti.

  7. Nel campo Codice sorgente, seleziona Editor incorporato. In questo esercizio utilizzerai la funzione predefinita fornita nell'editor.

  8. Usa il menu a discesa Runtime per selezionare il runtime .NET Core 3.1.

Esegui il deployment della funzione

  1. Nella parte inferiore della pagina, fai clic su Esegui il deployment.

  2. Dopo aver fatto clic su Esegui il deployment, Cloud Console reindirizza alla pagina Panoramica delle funzioni Cloud.

    Durante l'esecuzione del deployment, accanto alla funzione viene visualizzata un'icona a forma di rotellina. Al termine del deployment, al posto della rotellina appare un segno di spunta verde:

    Screenshot che mostra la procedura di deployment delle funzioni

Testa la funzione

  1. Visualizza il menu della funzione e fai clic su Esegui test funzione.

    Screenshot che mostra la procedura di test delle funzioni

  2. Nella pagina di test, fai clic su Testa la funzione.

    Nella schermata Output viene visualizzato il testo "Hello World!".

  3. Ora cambia il messaggio. Nel campo Evento di trigger, inserisci il testo {"message":"Hello, YOUR_NAME!"}, sostituendo YOUR_NAME con un nome, quindi fai clic su Testa la funzione.

    Ad esempio, supponi di aver inserito il nome "Rowan". Nel campo Output, vedresti il messaggio Hello, Rowan!.

    Nel campo Log, il codice di stato 200 indica che il test è stato superato

    Screenshot che mostra il campo Log con il codice 200, che indica che l'operazione è riuscita

Visualizza i log

Controlla i log per visualizzare le azioni nella cronologia dei log:

  • Torna alla pagina Panoramica di Cloud Functions, visualizza il menu della funzione e fai clic su Visualizza log.

Viene visualizzata la cronologia dei log.

Screenshot che mostra il campo Log con il codice 200, che indica che l'operazione è riuscita

Passaggi successivi