Gatilhos do Pub/Sub (1ª geração)
No Cloud Run functions, um acionador Pub/Sub permite que uma função seja chamada em resposta a mensagens do Pub/Sub. Ao especificar um acionador do Pub/Sub para uma função, você também especifica um tópico do Pub/Sub. A função será chamada sempre que uma mensagem for publicada no tópico especificado.
Para que uma função use um acionador Pub/Sub, ela precisa ser implementada como uma função orientada a eventos:
Se você usar uma Função CloudEvent , os dados de evento do Pub/Sub são transmitidos para sua função no Formato do CloudEvents e o payload de dados do CloudEvent é do tipo
MessagePublishedData
.Se você usar uma função em segundo plano, o payload de dados de eventos do Pub/Sub será transmitido diretamente para sua função no formato
PubsubMessage
.
O repositório Eventos do Google contém outros recursos para trabalhar com dados de eventos.
Implantação
É possível especificar um acionador Pub/Sub ao implantar uma função. Consulte Implantar uma função do Cloud para instruções gerais sobre como implantar uma função. Veja abaixo mais informações específicas para configurar acionadores do Pub/Sub durante a implantação.
gcloud
Se você estiver implantando usando a CLI gcloud, as sinalizações mostradas abaixo serão usadas para configurar acionadores do Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- A sinalização
--trigger-topic
especifica o tópico do Pub/Sub que o gatilho vai monitorar. As mensagens publicadas neste tópico acionarão chamadas para sua função. - A sinalização
--retry
controla se as chamadas de função com falha são repetidas automaticamente. Consulte Como repetir funções orientadas a eventos para mais informações.
Eventos legados do Pub/Sub
As funções legadas do Cloud Run (1a geração) usam um tipo de evento diferente para acionadores do Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
Esse tipo de evento é compatível com funções legadas que já consomem
esses eventos. No entanto, recomendamos o uso da sinalização --trigger-topic
, porque
o tipo de evento legado pode ser removido em uma data futura.
Console
Para implantar usando o Console do Google Cloud, configure um gatilho do Pub/Sub na seção Acionador:
- No campo Acionador, selecione Cloud Pub/Sub.
- No campo Selecione um tópico do Cloud Pub/Sub, escolha um tópico para o acionador monitorar ou selecione Criar um tópico para abrir uma janela para crie um novo tópico. Quando uma mensagem é publicada no tópico da sua função, isso aciona uma chamada para a função.
- Marque ou limpe a caixa de seleção Tentar novamente em caso de falha para controlar se as chamadas de função com falha são repetidas automaticamente. Consulte Como repetir funções orientadas a eventos para mais informações.
Próximas etapas
- Saiba como escrever funções baseadas em eventos.
- Saiba como implantar uma função do Cloud Run.
- Consulte o tutorial de função do Pub/Sub para ver um exemplo de gravação, implantação e chamada de uma função com um acionador do Pub/Sub.