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:
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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
Criar uma função
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.
Clique em Criar função.
Nomeie a função.
No campo Gatilho, selecione HTTP.
No campo Autenticação, selecione Permitir invocações não autenticadas.
Clique em Salvar para salvar as alterações e, depois, em Próxima.
No campo Código-fonte, selecione Editor in-line. Neste exercício, você usará a função padrão fornecida no editor.
Use o menu suspenso Ambiente de execução para selecionar o ambiente de execução do .NET Core 3.1.
Implante a função
Na parte inferior da página, clique em Implantar.
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.
Testar a função
Veja o menu da função e clique em Testar função.
Na página de teste, clique em Testar a função.
A tela Saída exibe o texto
"Hello World!"
Altere a mensagem. No campo Evento acionador, insira o texto
{"message":"Hello, YOUR_NAME!"}
, substituindoYOUR_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.
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.