59 votes

Utilisez la fonction cloud de Firebase pour envoyer une demande POST à un serveur autre que Google.

Je me demandais si il est possible d'utiliser un firebase nuage de fonction pour envoyer une requête post à un non-serveur de google (de ce que je peux trouver j'ai besoin d'être sur le feu plan afin d'interagir avec les serveurs de google)

Fondamentalement, je veux POSTER un serveur externe en cours d'exécution sur un arduino à chaque fois qu'une valeur est ajoutée à ma base de données.

J'ai regardé à travers les docs et trouvé des exemples de disposer d'une fonction cloud répondre à une requête HTTP post (HTTP cloud fonctions) mais n'arrive pas à trouver des exemples de publication vers un serveur externe. Est-ce possible?

65voto

stodi Points 431

Cela peut être fait à l'aide de l' request module de:

// import the module
var request = require('request');

// make the request
request('put your external url here', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        //here put what you want to do with the request
    }
})

REMARQUE: Cela ne fonctionne que sur des plans payés. Il n'est pas possible de faire appel à la non-Api google en utilisant l'Étincelle plan comme expliqué sur le Firebase page des prix:

L'Étincelle plan permet sortant des demandes de réseau uniquement à la filiale de Google services. Entrant invocation demandes sont autorisées dans la limite des quotas. Sur le feu plan de, Cloud Fonctions fournit un perpétuel niveau gratuit. La première de 2 000 000 d'invocations, de 400 000 GO-sec, de 200 000 UC-sec, et 5 GO d'Internet trafic de sortie est fourni gratuitement chaque mois. Vous n'êtes facturé que sur l'utilisation après cette attribution libre. La tarification est basée sur le nombre total d'invocations, et de temps de calcul. Le temps de calcul est variable en fonction de la quantité de mémoire et un PROCESSEUR configuré pour une fonction. Limites d'utilisation sont également appliquées au quotidien et 100s des quotas. Pour plus d'informations, consultez le Cloud Fonctions de Tarification.

8voto

RodolfoNeto Points 367

Vous devez installer le package. Accédez au répertoire Firebase-Funcions dans Terminal et tapez

 npm install request
 

OU

 npm install request-promise
 

Utilisez cet exemple pour le test: https://www.npmjs.com/package/request

3voto

Cesare Points 4043

N'oubliez pas d'installer le module dans le dossier des fonctions!

 cd functions
npm i --save request
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X