Criar e implantar uma função HTTP do Cloud com .NET
Este guia explica o processo de criação de uma função do Cloud usando a linguagem C# do ambiente de execução .NET. Há dois tipos de funções do Cloud:
- Uma função acionada por HTTP, que você invoca de solicitações HTTP padrão.
- Uma função direcionada a eventos, que você usa para processar eventos da infraestrutura do Cloud, como mensagens em um tópico do Cloud Pub/Sub ou alterações em um bucket do Cloud Storage.
Estrutura do guia
- Como criar um projeto do Google Cloud usando a CLI gcloud
- Como criar uma função
- Como especificar dependências
- Como implantar a função
- Como testar a função implantada
- Como visualizar registros
- Como usar o framework de funções
Como criar um projeto do Google Cloud usando a CLI gcloud
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Cloud Functions and Cloud Build.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Cloud Functions and Cloud Build.
- Instale e inicialize a CLI gcloud.
- Atualize e instale os componentes
gcloud
:gcloud components update
- Prepare seu ambiente de desenvolvimento.
Como criar uma função
Nesta seção, descrevemos como criar manualmente uma função a partir do zero. Também é possível usar os modelos fornecidos pelo pacote de modelo.
Para criar uma função:
Crie um diretório no seu sistema local para o código de função:
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux ou macOS
mkdir ~/helloworld cd ~/helloworld
Crie um arquivo chamado
Function.cs
com o conteúdo abaixo:Esta função de exemplo gera a saudação "Hello World!"
Como especificar dependências
A próxima etapa é configurar as dependências: É possível configurar dois tipos diferentes de dependências no C# do Cloud Functions:
- Disponibilizar o Functions Framework. Essa é a tarefa que você fará nesta seção.
- Disponibilizar outras bibliotecas, em termos de arquivos de projeto e dentro do código via injeção de dependência. Para saber mais, consulte Personalização por meio de classes de inicialização de funções.
Para disponibilizar o Functions Frameworks, altere o diretório para o diretório helloworld
criado acima:
cd ~/helloworld
Em seguida, crie um arquivo chamado HelloWorld.csproj
com o conteúdo abaixo:
Como implantar a função
Para implantar a função com um gatilho HTTP, execute o seguinte comando no
diretório helloworld
:
gcloud functions deploy my-first-function --entry-point HelloWorld.Function --runtime dotnet6 --trigger-http --allow-unauthenticated
em que my-first-function
é o nome registrado pelo qual sua função
será identificada no Console do Google Cloud e --entry-point
especifica
o nome de classe totalmente qualificado da função (FQN).
Como testar a função implantada
Quando a implantação da função estiver concluída, anote a propriedade
httpsTrigger.url
ou encontre-a usando o seguinte comando:gcloud functions describe my-first-function
A aparência será semelhante a esta:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Visite este URL no navegador. Você verá uma mensagem
Hello World!
.
Como visualizar registros
Como usar a ferramenta de linha de comando
Os registros do Cloud Functions são visíveis na IU do Cloud Logging e na Google Cloud CLI.
Para ver os registros da função com a ferramenta gcloud CLI, use o comando
logs read
, seguido pelo
nome da função:
gcloud functions logs read my-first-function
A saída será semelhante a esta:
LEVEL NAME EXECUTION_ID TIME_UTC LOG D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.791 Function execution started D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.958 Function execution took 168 ms, finished with status code: 200 ...
Como usar o painel do Logging
Também é possível ver os registros do Cloud Functions no console do Google Cloud.
Como usar o pacote de modelos
As seções acima informam como criar manualmente uma função a partir do zero. De agora em diante, você provavelmente usará modelos para criar novas funções.
Para usar modelos para criar, compilar e testar uma função:
Instale o SDK .NET.
Instale o pacote de modelos:
dotnet new install Google.Cloud.Functions.Templates
Em seguida, crie um diretório para o projeto e use
dotnet new
para criar uma nova função HTTP:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Isso cria
HelloFunctions.csproj
eFunction.cs
no diretório atual. AbraFunction.cs
para analisar o código e forneça uma mensagem personalizada, se quiser.Crie a função localmente, da seguinte maneira:
dotnet run
Quando o servidor estiver em execução, acesse
http://localhost:8080
para invocar a função. Pressione Ctrl-C no console para interromper o servidor.Essa função exibirá a mensagem "Hello Functions Framework".
Como alternativa, envie solicitações para essa função usando curl
de outra
janela de terminal:
curl localhost:8080
# Output: Hello Functions Framework