Estou tentando usar os logs do Firebase. Consigo adicionar novos registros à minha Chat
entidade do Firebase Realtime Database.
O problema é que não consigo ver nenhum log ou erro ao navegar por eles no Google Cloud Log Explorer.
Eu enviei com sucesso da minha pasta usando este comando:
gcloud builds submit --tag gcr.io/relay-world/realtime-database-handler .
Migrei para o registro de artefatos conforme sugerido e essas pastas foram criadas:
asia.gcr.io
cloud-run-source-deploy
eu.gcr.io
gcf-artifacts
gcr.io
us.gcr.io
Se eu abrir gcr.io
uma pasta, vejo o realtime-database-handler
conteúdo lá. Meu objetivo é enviar notificações push para os dispositivos dos usuários, mas no momento estou apenas tentando registrar os dados. Aqui está o código:
const admin = require("firebase-admin");
const { PubSub } = require("@google-cloud/pubsub");
console.log("BEFORE APP INIT");
// Initialize Firebase Admin SDK
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: "https://relay-world.firebaseio.com", // Replace with your database URL
});
// Initialize Pub/Sub
const pubsub = new PubSub();
const topicName = "realtime-database-chat-topic";
// Reference the Realtime Database path
const db = admin.database();
const ref = db.ref("Chat");
console.log("Listening for Realtime Database changes...");
// Listen for new children added to the collection
ref.on("child_added", async (snapshot) => {
const newValue = snapshot.val();
const childId = snapshot.key;
console.log(`New child added: ${childId}`, newValue);
// Publish a message to the Pub/Sub topic
const message = {
data: {
id: childId,
...newValue,
},
};
try {
const messageId = await pubsub.topic(topicName).publishMessage({
json: message,
});
console.log(`Message published with ID: ${messageId}`);
} catch (error) {
console.error("Error publishing message:", error);
}
});
Você sabe qual pode ser o problema? Muito obrigado!
Por favor, verifique minha resposta aqui:
Funções do Firebase V2: ; SyntaxError: Não é possível usar a instrução import fora de um módulo em wrapSafe