Implemente uma função
Este guia mostra como implementar uma função a partir do código fonte através do comando gcloud functions
. Para saber como implementar uma função através do comando gcloud run
, consulte o artigo Implemente uma função do Cloud Run através da CLI gcloud.
O processo de implementação usa o código-fonte e as definições de configuração e cria uma imagem executável que as funções do Cloud Run gerem automaticamente para processar pedidos à sua função.
Noções básicas de implementação
Para uma introdução sobre o tipo de funções que pode implementar, consulte o artigo Escreva funções do Cloud Run.
Os utilizadores que implementam funções têm de ter a função do IAM Cloud Functions Developer ou uma função que inclua as mesmas autorizações. Consulte também a secção Configuração adicional para implementação.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Use o comando
gcloud functions deploy
para implementar uma função:gcloud functions deploy YOUR_FUNCTION_NAME \ --region=YOUR_REGION \ --runtime=YOUR_RUNTIME \ --source=YOUR_SOURCE_LOCATION \ --entry-point=YOUR_CODE_ENTRYPOINT \ TRIGGER_FLAGS
O primeiro argumento,
YOUR_FUNCTION_NAME
, é um nome para a função implementada. O nome da função tem de começar com uma letra, seguida de até 62 letras, números, hífenes ou sublinhados, e terminar com uma letra ou um número. O nome do serviço do Cloud Run criado para a sua função substitui os sublinhados por hífenes e as letras maiúsculas são convertidas em minúsculas. Por exemplo, o nomeFunction_1
é atribuído afunction-1
no Cloud Run.A flag
--region
especifica a região na qual implementar a sua função. Consulte a secção Localizações para ver uma lista das regiões suportadas pelo Cloud Run.A flag
--runtime
especifica o tempo de execução do idioma que a sua função usa. Consulte o artigo Suporte de tempo de execução para ver uma lista dos IDs de tempo de execução suportados.A flag
--source
especifica a localização do código-fonte da sua função.A flag
--entry-point
especifica o ponto de entrada para a sua função no código-fonte. Este é o código que vai ser executado quando a sua função for executada. O valor desta flag tem de ser um nome de função ou um nome de classe totalmente qualificado que exista no seu código fonte. Para mais informações, consulte o artigo Ponto de entrada da função.Para especificar o acionador da sua função, são necessárias flags adicionais (representadas como
TRIGGER_FLAGS
acima), consoante o acionador que quer usar:Sinalizadores de acionamento Descrição do acionador --trigger-http
Acionar a função com um pedido HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPIC
Acionar a função quando uma mensagem é publicada no tópico do Pub/Sub especificado. --trigger-bucket=YOUR_STORAGE_BUCKET
Acionar a função quando um objeto é criado ou substituído no contentor do Cloud Storage especificado. --trigger-event-filters=EVENTARC_EVENT_FILTERS
Acionar a função com o Eventarc quando ocorre um evento que corresponde aos filtros especificados. Para uma referência completa sobre o comando de implementação e as respetivas flags, consulte a
gcloud functions deploy
documentação.Para mais detalhes acerca das
gcloud functions deploy
flags de configuração, consulte a documentação do Cloud Run.
- Pode usar a Google Cloud consola, bem como a CLI gcloud
(
gcloud run deploy
). - Os passos para especificar acionadores são ligeiramente diferentes. Para saber mais, consulte os artigos Acionadores e novas tentativas e Exemplos de acionadores de funções.
- O Cloud Run oferece uma gama mais ampla de opções de configuração:
Quando a implementação termina com êxito, as funções aparecem com uma marca de verificação verde na página de vista geral do Cloud Run na Google Cloud consola.
A implementação inicial de uma função pode demorar vários minutos, enquanto a infraestrutura subjacente é aprovisionada. A nova implementação de uma função existente é mais rápida e o tráfego recebido é migrado automaticamente para a versão mais recente.
URL do ponto final HTTP
Quando cria uma função com o comando gcloud functions
ou a API Cloud Functions v2, por predefinição, a função tem um cloudfunctions.net
URL do ponto final HTTP. Se usar esta função e a implementar no Cloud Run, a função também recebe um URL de run.app
ponto final HTTP. No entanto, as funções criadas no Cloud Run não têm um
cloudfunctions.net
URL do ponto final HTTP. Um URL cloudfunctions.net
e um URL run.app
de uma função comportam-se exatamente da mesma forma. São intermutáveis e são usados para acionar a sua função.
Exemplos do Terraform
Para ver exemplos de como implementar funções com o Terraform, consulte o exemplo de HTTP do Terraform e o exemplo de Pub/Sub do Terraform.
Configure a rede
As funções criadas com a API Cloud Functions v2 (por exemplo, através da gcloud functions
, da API REST ou do Terraform) podem ser geridas com a API Cloud Run Admin, bem como com a API Cloud Functions v2.
Para saber como gerir redes para funções, incluindo como encaminhar o tráfego da rede VPC, consulte as práticas recomendadas para redes do Cloud Run.
Saiba como implementar funções do Cloud Run no Cloud Run
A implementação de funções no Cloud Run é semelhante aos passos descritos neste documento, mas com algumas vantagens adicionais: