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.
![](https://miro.medium.com/max/625/0*Krq7iUXz_wUIfv2D.png)
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:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF_YKSBR2UoUo0DYENTJrOsyvz5UQdJ3_Jrst9FYh6MsimzgIcAtoAK3tKoKIwaY4-6L3Iit1Tiw905C3tn-FZw-zyt-kJPkkF6n-quVEfJcCNhcVamb3lvwZCd6sI3MKjeY9iUwh6wniJ/w838-h233/Untitled+15.png)
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?