Gatilhos do Pub/Sub

No Cloud 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:

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 \
--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 no Cloud Functions (1a geração) usam um tipo de evento diferente para acionadores do Pub/Sub:

gcloud functions deploy YOUR_FUNCTION_NAME \
--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.

  • Para o Cloud Functions (2ª geração):

    1. No campo Tipo de gatilho, selecione Cloud Pub/Sub.
    2. No campo Tópico do Cloud Pub/Sub, selecione um tópico para o gatilho monitorar. As mensagens publicadas neste tópico acionarão chamadas para sua função.
    3. Marque ou desmarque a caixa de seleção Tentar novamente em caso de falha para controlar se o Cloud Functions repetirá automaticamente uma invocação de função que falhou. Consulte Como repetir funções orientadas a eventos para mais informações.
    4. Clique em Mais opções para fazer outras configurações no gatilho:

      • No campo Tipo de gatilho, especifique uma das Fontes do Google, Personalizado ou Terceiros:

        • As Fontes do Google permitem especificar gatilhos para o Pub/Sub, Cloud Storage, Firestore e outros provedores de eventos do Google. No painel Gatilho do Eventarc, use o campo Provedor de eventos para selecionar o produto que fornece o tipo de evento que você quer que acione sua função. Em seguida, no campo Evento, selecione o evento que você quer usar como gatilho.

        • A opção Personalizada permite produzir e consumir eventos do código do aplicativo. Siga as instruções no painel Gatilho do Eventarc para criar um canal. Um canal é um recurso usado como pipeline para entregar eventos personalizados de produtores a consumidores. Eventos personalizados são publicados em um canal, e um gatilho do Eventarc é inscrito nesses eventos.

        • A opção Terceiros permite a integração com provedores que não são do Google que oferecem uma fonte do Eventarc. Consulte Eventos de terceiros no Eventarc para mais detalhes.

      • No campo Evento, selecione um evento de gatilho. O padrão é google.cloud.pubsub.topic.v1.messagePublished.

      • Opcionalmente, no campo Conta de serviço, selecione uma conta de serviço a ser usada como a identidade do acionador do Eventarc. Consulte Identidade do gatilho para mais informações.

    5. Clique em Salvar acionador.

  • Para o Cloud Functions (1ª geração):

    1. No campo Acionador, selecione Cloud Pub/Sub.
    2. 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.
    3. 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