Implantar uma função
Neste guia, mostramos como implantar uma função a partir do código-fonte usando o comando gcloud functions
. Para saber como implantar uma função usando o comando gcloud run
, consulte Implantar uma função do Cloud Run usando a CLI gcloud.
O processo de implantação recebe o código-fonte e as configurações e cria uma imagem executável que o Cloud Run functions gerencia automaticamente para processar solicitações para a função.
Princípios básicos de implantação
Para uma introdução sobre o tipo de funções que você pode implantar, consulte Escrever funções do Cloud Run.
Os usuários que implantam funções precisam ter o papel do IAM de Desenvolvedor do Cloud Functions ou um papel que inclua as mesmas permissões. Consulte também Outras configurações para implantaçã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 implantar 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 implantada. O nome da função deve começar com uma letra, seguida por até 62 letras, números, hífens e sublinhados, e terminar com uma letra ou um número O nome do serviço do Cloud Run que é criado para a função substitui os sublinhados por hífens, e as letras maiúsculas são convertidas em minúsculas. Por exemplo,Function_1
vai receber o nomefunction-1
no Cloud Run.A sinalização
--region
especifica a região em que a função será implantada. Consulte Locais para conferir uma lista de regiões compatíveis com o Cloud Run.A sinalização
--runtime
especifica o ambiente de execução da linguagem que a função usa. Consulte Suporte ao ambiente de execução para conferir uma lista de IDs de ambiente de execução compatíveis.A sinalização
--source
especifica o local do código-fonte da função.A sinalização
--entry-point
especifica o ponto de entrada da função no código-fonte. Este é o código que será executado quando a função for executada. O valor dessa sinalização precisa ser um nome de função ou de classe totalmente qualificada no código-fonte. Para mais informações, consulte Ponto de entrada de função.Para especificar o acionador da função, as sinalizações adicionais (representadas como
TRIGGER_FLAGS
acima) são obrigatórias, dependendo do acionador que você quer usar:Sinalizações do acionador Descrição do gatilho --trigger-http
Acionar a função com uma solicitação HTTP(S) --trigger-topic=YOUR_PUBSUB_TOPIC
Acionar a função quando uma mensagem for publicada no tópico especificado do Pub/Sub. --trigger-bucket=YOUR_STORAGE_BUCKET
Acionar a função quando um objeto é criado ou substituído no bucket especificado do Cloud Storage. --trigger-event-filters=EVENTARC_EVENT_FILTERS
Acione a função com o Eventarc quando um evento que corresponde aos filtros especificados ocorrer. Para ver uma referência completa sobre o comando de implantação e as sinalizações dele, consulte a documentação
gcloud functions deploy
.Para mais detalhes sobre as flags de configuração
gcloud functions deploy
, consulte a documentação do Cloud Run.
Quando a implantação for concluída, as funções vão aparecer com uma marca de seleção verde na página de visão geral do Cloud Run no consoleGoogle Cloud .
A implantação inicial de uma função pode levar vários minutos, enquanto a infraestrutura subjacente é provisionada. A reimplantação de uma função existente é mais rápida, e o tráfego de entrada é migrado automaticamente para a versão mais recente.
URL do endpoint HTTP
Quando você cria uma função com o comando gcloud functions
ou a API Cloud Functions v2, por padrão, a função tem um URL de endpoint HTTP cloudfunctions.net
. Se você implantar essa função no Cloud Run, ela também vai receber um URL de endpoint HTTP run.app
. No entanto, as funções criadas no Cloud Run não têm um URL de endpoint HTTP cloudfunctions.net
. O URL cloudfunctions.net
e o URL run.app
de uma função se comportam da mesma maneira. Eles são intercambiáveis
e são usados para acionar a função.
Exemplos do Terraform
Para conferir exemplos de como implantar funções usando o Terraform, consulte o exemplo HTTP do Terraform e o exemplo do Pub/Sub do Terraform.
Configurar rede
As funções criadas usando a API Cloud Functions v2 (por exemplo, usando gcloud functions
, a API REST ou o Terraform) podem ser gerenciadas com a API Cloud Run Admin e a API Cloud Functions v2.
Para saber mais sobre como gerenciar redes para funções, incluindo como rotear o tráfego de rede VPC, consulte as Práticas recomendadas para redes do Cloud Run.
Saiba como implantar funções do Cloud Run no Cloud Run
A implantação de funções no Cloud Run é semelhante às etapas descritas neste documento, mas com algumas vantagens adicionais:
- É possível usar o console Google Cloud e a CLI gcloud
(
gcloud run deploy
). - As etapas para especificar acionadores são um pouco diferentes. Para saber mais, consulte gatilhos e novas tentativas e exemplos de gatilhos de função.
- O Cloud Run oferece uma variedade maior de opções de configuração: