Chamar funções do Cloud Run diretamente
Para dar suporte à iteração e depuração rápida, as funções do Cloud Run fornecem um comando call
na interface de linha de comando e a funcionalidade de teste na UI do console do Google Cloud. Isso permite invocar diretamente uma função para garantir que ela esteja se comportando conforme o esperado. Isso faz a função ser executada
imediatamente, mesmo que possa ter sido implantada para responder a um
evento específico.
Testar a função com a CLI do Google Cloud
Para invocar diretamente uma função usando a gcloud CLI, use o
comando gcloud functions call
e forneça os dados que a função espera
como JSON no argumento --data
. Exemplo:
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Tristan"}'
em que YOUR_FUNCTION_NAME
é o nome da função que você quer executar. O argumento --data
é enviado para a função da seguinte maneira:
- Para funções HTTP, os dados fornecidos são enviados como o corpo de uma solicitação POST.
- Para funções em segundo plano, os dados são passados diretamente como os dados do evento para a função.
- Para funções do CloudEvent, os dados são transmitidos diretamente como os dados do evento para a função.
Para mais informações, consulte a documentação gcloud functions call
.
Testar a função com o Console do Google Cloud
Para invocar diretamente uma função pelo console do Google Cloud, siga estes passos:
Clique no nome da função que você quer invocar.
Clique na guia Testes.
No campo Configurar evento acionador, insira todos os dados esperados pela função como JSON.
Clique em Testar a função.
A resposta da função é exibida no campo Saída, e os registros da execução individual aparecem no campo Registros.
Exemplo de função orientada a eventos do Cloud Pub/Sub
Este exemplo mostra como invocar diretamente uma função orientada a eventos acionada por eventos do Cloud Pub/Sub:
Node.js
Python
Go
Java
C#
Ruby
PHP
Para invocar a função diretamente, envie um
PubsubMessage
,
que espera dados codificados em base64, como os dados do evento:
Node.js
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloPubSub --data '{"data":"'$DATA'"}'
Python
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
Go
DATA=$(printf 'Hello!'|base64) && gcloud functions call HelloPubSub --data '{"data":"'$DATA'"}'
Java
DATA=$(printf 'Hello!'|base64) && gcloud functions call java-hello-pubsub --data '{"data":"'$DATA'"}'
C#
DATA=$(printf 'Hello!'|base64) && gcloud functions call csharp-hello-pubsub --data '{"data":"'$DATA'"}'
Ruby
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
PHP
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloworldPubsub --data '{"data":"'$DATA'"}'
Este exemplo da CLI usa a sintaxe bash
ou sh
. Ele funciona em ambientes Linux e Mac,
mas não no Windows.
Também é possível invocar a função do console do Google Cloud usando os mesmos dados de evento no campo Evento acionador.