Gatilhos HTTP
No Cloud Functions, um gatilho HTTP permite que uma função seja executada em resposta a
solicitações HTTP(S). Quando você especifica um gatilho HTTP para uma função,
um URL para receber solicitações é atribuído a ela. Os gatilhos de HTTP oferecem suporte aos
métodos de solicitação GET
, POST
, PUT
, DELETE
e OPTIONS
.
No Cloud Functions (2nd gen), as solicitações para um URL de função sempre exigem HTTPS. No Cloud Functions (1st gen), você pode decidir se o HTTPS é obrigatório durante a implantação.
Por padrão, as solicitações para uma função com um gatilho HTTP exigem autenticação. É possível permitir chamadas não autenticadas durante a implantação. Consulte Como permitir a invocação de funções HTTP não autenticadas.
Use funções HTTP para implementar o Cloud Functions que podem processar solicitações HTTP(S) gerais.
Implantação
É possível especificar um gatilho HTTP ao implantar uma função. Consulte Implantar uma função do Cloud com instruções gerais sobre como implantar uma função e esta seção com mais informações específicas para configurar gatilhos HTTP durante a implantação.
gcloud
Se você estiver implantando com a gcloud CLI, as flags mostradas aqui serão usadas para configurar os gatilhos HTTP.
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-http \ [--allow-unauthenticated] \ [--security-level=SECURITY_LEVEL] \ ...
- A flag
--trigger-http
especifica que a função usa um gatilho HTTP. - A flag
--allow-unauthenticated
especifica que a função pode ser chamada sem autenticação. Omitir essa flag significa que as chamadas para a função exigem autenticação, que é o padrão. Para mais informações, consulte Como autenticar para invocação. - (1st gen) A flag
--security-level
controla se o endpoint da função requer HTTPS. O valorsecure-always
indica que o HTTPS é necessário e que solicitações HTTP não SSL não são compatíveis. O valorsecure-optional
significa que HTTP e HTTPS são compatíveis. O padrão ésecure-always
.
Console
Para implantar usando o console do Google Cloud, configure um gatilho HTTP na seção Gatilho.
- Para o Cloud Functions (2nd gen):
- Em HTTPS, no campo Autenticação, selecione uma opção se quiser permitir invocações não autenticadas da sua função. Por padrão, a autenticação é obrigatória. Para mais informações, consulte Como autenticar para invocação.
- Para o Cloud Functions (1st gen):
- No campo Tipo de gatilho, selecione HTTP.
- No campo Autenticação, selecione uma opção se quiser permitir invocações não autenticadas da sua função. Por padrão, a autenticação é obrigatória. Para mais informações, consulte Como autenticar para invocação.
- Marque ou desmarque a caixa de seleção Requer HTTPS para controlar se o endpoint da função exige HTTPS. Se a opção não estiver selecionada, HTTP e HTTPS serão compatíveis.
URL da função
Após a implantação da função com um gatilho HTTP, é possível recuperar o URL atribuído a ela.
As funções da primeira e da segunda geração têm URLs atribuídos com o formato a seguir. Esses URLs têm um formato determinístico, o que significa que você pode prever qual será o URL antes de implantar a função:
https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME
As funções de segunda geração também têm um URL atribuído associado ao serviço subjacente do Cloud Run. Esses URLs não têm um formato determinístico, o que significa que, como o segundo campo é um hash aleatório, não é possível prever qual será o URL antes de implantar a função. Depois de implantar a função, o URL permanecerá estável:
https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app
O URL cloudfunctions.net
de uma função de segunda geração e o URL run.app
se comportarão
da mesma maneira. Eles são intercambiáveis.
É possível recuperar os URLs da função da seguinte maneira:
gcloud
Para o Cloud Functions (2a geração):
gcloud functions describe YOUR_FUNCTION_NAME \ --gen2 \ --region=YOUR_FUNCTION_REGION \ --format="value(serviceConfig.uri)"
Para o Cloud Functions (1a geração):
gcloud functions describe YOUR_FUNCTION_NAME \ --format="value(httpsTrigger.url)"
Console
Acesse a página de visão geral do Cloud Functions no console do Google Cloud:
Clique no nome da função com o URL que você quer recuperar.
Clique na guia "Editar".
Veja o URL da função na seção Gatilho.
Próximas etapas
- Saiba como escrever funções HTTP.
- Saiba como implantar uma função do Cloud.
- Consulte o tutorial de função HTTP para ver um exemplo de gravação, implantação e chamada de função HTTP.