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 a 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 \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
Substitua:
- YOUR_FUNCTION_NAME: o nome da função que você está testando.
- REGION: a região do Google Cloud em que a função está implantada
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 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:
Na lista, clique no nome da função que você quer invocar. Isso leva você à página Detalhes da função.
Clique na guia Testes.
No campo Configurar evento acionador, insira todos os dados esperados pela função como JSON.
Clique em +Adicionar parâmetro de consulta e +Adicionar parâmetro de cabeçalho para adicionar parâmetros de consulta e cabeçalho à chamada de função conforme necessário.
O console do Google Cloud monta os parâmetros que você especifica em um comando
gcloud functions call
na janela comando de teste da CLI.Selecione Executar no Cloud Shell para abrir uma janela do Cloud Shell e executar este comando.
Pressione Enter para acionar o comando
gcloud functions call
depois que ele aparecer na janela do Cloud Shell.
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.