Como criar uma função no Cloud Functions acionada pelo Pub/Sub do GCP

 Nesta postagem, falaremos como criar uma função utilizando Cloud Functions que é acionada pelo Pub/Sub do Google Cloud.

O que é o Cloud Functions?

É um serviço totalmente gerenciado do GCP que permite a execução de códigos sem a necessidade de gerenciar um servidor ou uma VM, é cobrado conforme as execuções e permite escalonamento automático.

O que é Pub/Sub?

O Pub/Sub (Publish/Subscribe) é um serviço de mensagens assíncronas do GCP.

Permite armazenamento e entrega de mensagens em formato de tópicos e assinaturas.

Passo a Passo

1. O primeiro passo a fazer é o login em sua conta do GCP, para este tutorial você vai precisar de uma conta que possua um projeto.

2. Vá até o menu, selecione Pub/Sub > Tópicos:

3. Selecione Criar Tópico:

4. Dê um nome/id para seu tópico, ele precisa ter de 3 a 255 caracteres, começar com uma letra e conter apenas estes tipos de caracteres: letras, números, traços (-), pontos (.), sublinhados (_), indicadores diacríticos (~), símbolos de porcentagem (%) ou indicadores de adição (+). Não é possível iniciar com "goog". Neste exemplo usaremos o nome "eventos":

5. Verifique o tópico criado:

6. Vá até menu, selecione Cloud Functions.

7.Clique em Criar Função:

8.Especifique um nome para sua função, o nome 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, nesse exemplo usaremos o nome "verifica-mensagem":

9. Defina a região conforme abaixo:

10. Existem vários tipos de "Gatilhos"/acionadores para nossa função, no nosso exemplo vamos usar o tipo Pub/sub, ou seja, ao chegar uma nova mensagem no tópico nossa função será executada:

11. Não será preciso alterar a memória ou outros itens, clique em Salvar.

12. Confirme as informações da função e clique em Próxima:

13. Neste passo usaremos a linguagem python com o código abaixo, depois de colocar o código, clique em Implantar:

def aviso(event, context):

    print("Nova mensagem no tópico")

14.Aguarde a criação da função:

15. Volte ao pub/sub e clique em publicar mensagem:

16. Digite sua mensagem e clique em Publicar:

17. Volte na sua função do Cloud Function e clique em Registros, será possível ver que a mensagem do tópico iniciou o evento da nossa função:

Referências

  • Cloud Functions documentation

https://cloud.google.com/functions

  • Por que usar Pub/Sub?

https://inside.contabilizei.com.br/por-que-usar-pub-sub-378f0e212e67

  • Pub/Sub

https://cloud.google.com/pubsub?hl=pt-br

  • O que é o Pub/Sub?

https://cloud.google.com/pubsub/docs/overview