Guía de inicio rápido: Crea e implementa una función .NET de Cloud Functions

Crea e implementa una función .NET de Cloud Functions

Cloud Functions es un entorno de ejecución sin servidores para compilar y conectar servicios en la nube. Con Cloud Functions, puedes escribir funciones simples de un solo propósito vinculadas a eventos emitidos desde los servicios y la infraestructura de nube. La función se activa cuando se recibe una solicitud HTTP de forma externa o se activa un evento que se supervisa.

Aprende a crear y a implementar una función de .NET Core 3.1 de Cloud Functions mediante Cloud Console.


Para obtener una guía paso a paso sobre esta tarea directamente en Cloud Console, haz clic en Guiarme:

GUIARME


En las siguientes secciones, se explican los mismos pasos que cuando se hace clic en Guiarme.

Cuando una solicitud HTTP activa esta función C#, escribe un mensaje como el siguiente:

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

Antes de comenzar

  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 función

  1. Abre la página Descripción general de Cloud Functions en Cloud Console:

    Ir a la página Descripción general de Cloud Functions

    Asegúrate de que el proyecto para el que habilitaste Cloud Functions esté seleccionado.

  2. Haz clic en Crear función (Create function).

  3. Asigna un nombre a tu función.

  4. En el campo Activador (Trigger), selecciona HTTP.

  5. En el campo Autenticación, selecciona Permitir invocaciones no autenticadas.

  6. Haz clic en Guardar para guardar los cambios y, luego, haz clic en Siguiente.

  7. En el campo Código fuente (Source code), selecciona Editor en línea (Inline editor). En este ejercicio, usarás la función predeterminada proporcionada en el editor.

  8. Usa el menú desplegable Entorno de ejecución para seleccionar el entorno de ejecución de .NET Core 3.1.

Implementa la función

  1. En la parte inferior de la página, haz clic en Implementar.

  2. Después de hacer clic en Implementar, Cloud Console se redireccionará a la página Descripción general de Cloud Functions.

    Mientras se implementa la función, aparecerá junto a ella un ícono giratorio pequeño. Cuando termina de implementarse, el ícono giratorio cambia a una marca de verificación color verde.

    Captura de pantalla que muestra el proceso de implementación de funciones

Prueba la función

  1. Despliega el menú de tu función y haz clic en Probar función (Test function).

    Captura de pantalla que muestra el proceso de prueba de funciones

  2. En la página de prueba, haz clic en Probar función.

    La pantalla Resultado muestra el texto "Hello World!"

  3. Ahora, cambia el mensaje. En el campo Evento de activación, ingresa el texto {"message":"Hello, YOUR_NAME!"}, reemplaza YOUR_NAME con un nombre y haz clic en Probar función.

    Por ejemplo, supongamos que ingresaste el nombre “Rowan”. En el campo Resultado, verás el mensaje Hello, Rowan!.

    En el campo Registros (Logs), el código de estado 200 indica que la prueba se realizó con éxito.

    Captura de pantalla que muestra el campo Registros con el código 200 que indica que la prueba se realizó con éxito

Visualiza registros

Revisa los registros para ver tus acciones en el historial de registros:

  • En la página Descripción general de Cloud Functions, despliega el menú de tu función y haz clic en Ver registros.

Aparece tu historial de registros.

Captura de pantalla que muestra el campo Registros con el código 200 que indica que la prueba se realizó con éxito

Próximos pasos