Firebase Functions - Monitorando alterações no Realtime Database
Descubra como usar o Firebase Functions para monitorar mudanças no Realtime Database e executar ações automáticas em resposta a alterações

Olá meus Unicórnios! 🦄✨
Este é um recurso extremamente interessante, ele permite criar uma função, que será acionada quando alguma alteração acontecer em um nó do Realtime Database.
Para este tutorial, iremos utilizar as funções e base criadas no tutorial anterior:

Iremos precisar utilizar a versão "v1" da dependência "firebase-functions":
const fireFunctions = require("firebase-functions/v1");
Para criar funções que monitoram o Realtime Database, iremos utilizar o "database" no "fireFunctions", passando o nó que queremos monitorar e os eventos que queremos monitorar:
exports.MonitorarUsuarios = fireFunctions.database
.ref("/usuarios/{CodigoUsuario}/")
.onWrite(async (change, context) => {
Aqui podemos monitorar outros eventos também:
- onWrite: Acionado quando qualquer modificação ocorre em um registro (Criação/Atualização/Exclusão)
- onCreate: Acionado quando um novo registro é criado
- onUpdate: Acionado quando um registro existente é editado
- onDelete: Acionado quando um registro é removido
No elemento "change", é retornado como estava antes e como esta agora o registro:
const InfBeforeData = change.before.val();
const InfAfterData = change.after.val();
Para teste, iremos fazer um Axios quando uma alteração for realizada:
exports.MonitorarUsuarios = fireFunctions.database
.ref("/usuarios/{CodigoUsuario}/")
.onWrite(async (change, context) => {
const InfBeforeData = change.before.val();
const InfAfterData = change.after.val();
const response = await axios.post("https://webhook.site/1098947a-afcf-4a89-a5b6-fb89f543a81c", InfAfterData, {
headers: {
'Content-Type': 'application/json',
}
});
});
Para teste, iremos alterar o Usuário "1", utilizando a função "RegistraUsuario" que criamos no tutorial anterior.
Quando uma alteração for identificada, a função será acionada e o Axios ira notificar o "webhook.site":

Por hoje é só, meus unicórnios! 🦄✨
Que a magia do arco-íris continue brilhando em suas vidas! Até mais! 🌈🌟