Recherche…


Hello World Firebase Base de données en temps réel dans le nœud

Configuration requise:

Commencer

  1. Allez d'abord dans la console Firebase et créez un nouveau projet.
  2. Après avoir créé le projet, dans le projet, cliquez sur l'icône Paramètres en plus du nom du projet dans la barre latérale gauche et sélectionnez Autorisations.
  3. Sur la page des autorisations Cliquez sur les comptes de service dans la barre latérale gauche, puis cliquez sur Créer un compte de service
  4. Dans la fenêtre contextuelle, entrez le nom de votre compte de service et choisissez Rôle du compte, puis sélectionnez Fournir une nouvelle clé privée puis sélectionnez JSON et cliquez sur Créer (Laisser Activer la délégation à l'échelle du domaine Google App décochée).
  5. Lorsque vous cliquez sur Créer, vous téléchargez un fichier JSON avec vos informations d'identification de compte, enregistrez simplement le fichier Anywhere dans votre système.
  6. L'étape suivante consiste à créer une base de données dans votre console Firebase pour laquelle accéder à la console Firebase et à cliquer sur Database dans la barre latérale gauche. Ensuite, créez simplement un nouvel objet de base de données avec le nom user_data avec une valeur factice.
  7. Maintenant, votre projet de base de données Firebase est configuré, copiez simplement le code suivant dans votre répertoire de projet.
//Loading Firebase Package
var firebase = require("firebase");

/**
* Update your Firebase Project
* Credentials and Firebase Database
* URL
*/
firebase.initializeApp({
  serviceAccount: "<path to Firebase Credentials Json File>",
  databaseURL: "<Firebase Database URL>"
});  //by adding your credentials, you get authorized to read and write from the database


/**
* Loading Firebase Database and refering 
* to user_data Object from the Database
*/
var db = firebase.database();
var ref = db.ref("/user_data");  //Set the current directory you are working in

/**
* Setting Data Object Value
*/
ref.set([
{
    id:20,
    name:"Jane Doe",
    email:"[email protected]",
    website:"https://jane.foo.bar"
},
{
    id:21,
    name:"John doe",
    email:"[email protected]",
    website:"https://foo.bar"
}
]);

/**
* Pushing New Value
* in the Database Object
*/
ref.push({
    id:22,
    name:"Jane Doe",
    email:"[email protected]",
    website:"https://jane.foo.bar"
});

/**
* Reading Value from
* Firebase Data Object
*/
ref.once("value", function(snapshot) {
  var data = snapshot.val();   //Data is in JSON format.
  console.log(data);
});
  1. Changez simplement avec l'URL du fichier d'informations d'identification JSON (pour commencer, copiez simplement le fichier d'informations d'identification dans le même dossier et dans le fichier index.js, ajoutez simplement le nom du fichier).
  2. La prochaine étape consiste à modifier le fichier index.js avec l'URL de la base de données Firebase, vous pourrez trouver cette URL dans Firebase Console dans l'onglet Base de données. L'URL sera similaire à https: //.firebaseio.com/ .
  3. La dernière étape consiste à faire
npm install firebase
  1. Après l'exécution de la commande ci-dessus, NPM installe les paquets nécessaires à Firebase. Enfin pour exécuter et tester le projet exécuter
node index.js

Que fait réellement le projet?

Le projet charge les données de la base de données Firebase basée sur le cloud. Le projet montre également comment écrire et lire des données à partir d'un objet de données Firebase.

Afin de voir vos données mises à jour en temps réel, allez sur votre console, cliquez sur le projet que vous avez réalisé, et sur la gauche, cliquez sur Base de données. Vous pouvez y voir vos données mises à jour en temps réel, avec leurs valeurs.

Firebase-queue et worker

Vous pouvez envoyer des tâches ou des données à la base de données temps réel de Firebase et exécuter un agent qui écoute la file d'attente de la base de données pour exécuter des processus en arrière-plan.

Configuration de la base de feu

  1. Créez un projet Firebase dans la console Firebase, si vous n'en avez pas déjà un. Si un projet Google existant est déjà associé à votre application, cliquez sur Importer un projet Google. Sinon, cliquez sur Créer un nouveau projet.

  2. Cliquez sur l'icône Paramètres et sélectionnez Autorisations.

  3. Sélectionnez Comptes de service dans le menu de gauche.

  4. Cliquez sur Créer un compte de service.

    Entrez un nom pour votre compte de service.

    Vous pouvez éventuellement personnaliser l'ID de celui généré automatiquement à partir du nom.

    Choisissez Projet> Editeur dans la liste déroulante Rôle.

    Sélectionnez Fournir une nouvelle clé privée et laissez le type de clé JSON.

    Ne pas activer la délégation de domaine à l'échelle du domaine Google Apps.

    Cliquez sur Créer

  5. Lorsque vous créez le compte de service, un fichier JSON contenant les informations d'identification de votre compte de service est téléchargé pour vous. Vous en aurez besoin pour initialiser le SDK sur le serveur.

Serveur d'installation

Installez Firebase-queue en utilisant npm dans votre application nodejs

npm install firebase firebase-queue --save

Une fois que vous avez installé firebase et firebase-queue, vous pouvez commencer par créer une nouvelle file d'attente et lui transmettre votre référence Firebase et une fonction de traitement.

Maintenant, créons une tâche de file d'attente de base Firebase à partir de l'application lorsqu'un nouvel utilisateur est créé et définissez worker pour qu'il écoute la tâche de file d'attente de base de données et envoie un courrier électronique aux utilisateurs créés.

* server.js

var app=express();
var Queue = require('firebase-queue'),
    Firebase = require('firebase');

Mettez à jour vos références de projet Firebase et votre URL de base de données Firebase

var firebase = Firebase.initializeApp({
    serviceAccount: "path/to/serviceAccountCredentials.json",
  databaseURL: "https://databaseName.firebaseio.com"
});

ou vous pouvez entrer les informations d'identification de la base de feu directement comme ci-dessous

var firebase = Firebase.initializeApp({ 
    serviceAccount: {
        projectId: "projectId",
        clientEmail: "[email protected]",
        privateKey: "-----BEGIN PRIVATE KEY-----\nkey\n-----END PRIVATE KEY-----\n"
    },
    databaseURL: "https://databaseName.firebaseio.com"
});


var refQueue = firebase.database().ref("queue/tasks");

createUser =  funtion(email, password){
    var user = {
        username: email,
        password: password
    };
    user = new db.users(user);
    user.save(function(err, user){
        if(!err){
            refQueue.push({case: "NEW_USER", data: user});
        }
    })
}

createUser("[email protected]", "password");

* worker.js

var Queue = require('firebase-queue'),
    Firebase = require('firebase');

//Update your Firebase Project Credentials and Firebase Database URL by one of the way specified in server.js
var firebase = Firebase.initializeApp({
    serviceAccount: "path/to/serviceAccountCredentials.json",
  databaseURL: "https://databaseName.firebaseio.com"
});

var refQueue = firebase.database().ref("queue");

var queue = new Queue(refQueue, function(data, progress, resolve, reject) {
    switch(data.case){
        case "NEW_USER":
            sendMail(data.data.email);
            console.log("user created");
            //sendMail function is not an inbuilt function and will not work unless you define and implement the function
            break;

    // Finish the task asynchronously
    setTimeout(function() {
        resolve();
    }, 1000);
});

exécuter le serveur et le serveur séparément et tester avec la file d'attente de la base de données

node server.js

node worker.js


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow