Die Idee unten macht die folgenden Lambda-Funktion ausführen, um einen Knotenmodul hatLambda-Funktion als node.js Modul
Node.js Server:
var express = require('express');
var app = express();
var server = require('http').Server(app);
//var socketIoServer = require('socket.io')(server);
server.listen(2006, function() {
console.log('Express server listening on port ' + 2006);
});
require('./lambdaFunction/function').startLambdaFunction()
Und die Lambda-Funktion i als Knoten gemacht haben Js-Modul ist als unten:
'use strict';
var MongoClient = require('mongodb').MongoClient;
let atlas_connection_uri;
let cachedDb = null;
let firebase = require('firebase');
exports.handler= function(event, context,callback)
{
// var uri = process.env['MONGODB_ATLAS_CLUSTER_URI'];
var uri = "mongodb://163.172.131.83:28018/harmanconnectedcar";
context.callbackWaitsForEmptyEventLoop = false;
firebase.initializeApp({
serviceAccount: {},
databaseURL: "https://harmanconnectedcar-180411.firebaseio.com/"
});
var eventDataRef = firebase.database().ref('testTable');
eventDataRef.on('child_changed', function(child,prev) {
console.log("*************inside fucntion**********************")
// all records after the last continue to invoke this function
var lastKey = Object.keys(child.val()).sort().reverse()[0];
var eventDetectedData = child.val()[lastKey];
console.log(eventDetectedData);
});
};
module.exports = {startLambdaFunction: exports.handler};
Das Modul exportiert ist aufrufen, aber ich den Fehler bekommen hat:
TypeError: Cannot set property 'callbackWaitsForEmptyEventLoop' of undefined
Der Grund, warum ich so tue, ist Lambda-Funktion verlässt nach 30 Sekunden i Funktion soll für unbegrenzte Zeit zu laufen ich versuche nur, es zu tun
Durch einen node.js Server erstellen und die Berufung Lambda-Funktion als Modul
nur wenn geben Sie bitte einige Eingaben und Ideen zu erreichen, ich nur ein wenn auch völlig falsch sein könnte dabei bitte einige Eingabe