Guia de início rápido: criar e implantar uma função do Cloud em .NET

Criar e implantar uma função do Cloud em .NET

O Cloud Functions é um ambiente de execução sem servidor para criar e conectar serviços em nuvem. Com ele, é possível escrever funções simples que têm uma única finalidade e que são vinculadas a eventos emitidos pela infraestrutura e pelos serviços em nuvem. A função é acionada quando uma solicitação HTTP é recebida externamente ou quando um evento em análise é acionado.

Saiba como criar e implantar uma função do Cloud .NET Core 3.1 usando o Console do Cloud.


Para receber orientações passo a passo sobre esta tarefa diretamente no Console do Cloud, clique em Orientação:

Orientações


As seções a seguir guiam você pelas mesmas etapas que você encontra clicando em Orientações.

Quando essa função C# for acionada por uma solicitação HTTP, ela escreverá a seguinte mensagem:

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 começar

  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

Criar uma função

  1. Abra a página Visão geral das funções no Console do Cloud:

    Acessar a página Visão geral do Cloud Functions

    Verifique se o projeto com o Cloud Functions ativado foi selecionado.

  2. Clique em Criar função.

  3. Nomeie a função.

  4. No campo Gatilho, selecione HTTP.

  5. No campo Autenticação, selecione Permitir invocações não autenticadas.

  6. Clique em Salvar para salvar as alterações e, depois, em Próxima.

  7. No campo Código-fonte, selecione Editor in-line. Neste exercício, você usará a função padrão fornecida no editor.

  8. Use o menu suspenso Ambiente de execução para selecionar o ambiente de execução do .NET Core 3.1.

Implante a função

  1. Na parte inferior da página, clique em Implantar.

  2. Depois de clicar em Implantar, o Console do Cloud será redirecionado para a página de visão geral do Cloud Functions.

    Enquanto a função é implantada, o ícone ao lado dela fica girando. Depois de concluída a implantação, o ícone muda para uma marca de seleção verde.

    Captura de tela que mostra o processo de implantação da função

Testar a função

  1. Veja o menu da função e clique em Testar função.

    Captura de tela que mostra o processo de teste da função

  2. Na página de teste, clique em Testar a função.

    A tela Saída exibe o texto "Hello World!"

  3. Altere a mensagem. No campo Evento acionador, insira o texto {"message":"Hello, YOUR_NAME!"}, substituindo YOUR_NAME por um nome e clique em Testar a função.

    Vamos supor que você inseriu o nome "Rowan". No campo Saída é exibida a mensagem Hello, Rowan!.

    No campo Registros, um código de status 200 indica êxito.

    Captura de tela que mostra o campo Registros com código 200, indicando êxito

Ver registros

Verifique os registros para ver as ações no histórico de registros:

  • De volta à página "Visão geral do Cloud Functions", veja o menu da função e clique em Exibir registros.

O histórico de registros é exibido.

Captura de tela que mostra o campo Registros com código 200, indicando êxito

A seguir