2016-09-22 95 views
3

有人可以告诉我该怎么做?在Lambda函数中使用Firebase API AWS

这是我迄今为止,它不是将数据添加到我的数据库

我测试了这一点,而不使用在常规的Web应用程序lambda函数和它的作品

var http = require('http'); 
var firebase = require('firebase'); 

exports.handler = (event, context, callback) => { 

     var config = { 
      apiKey: "AIzaSyCpk23423Iy_akmUniqUJhLt234324YPBE1vD7At8Laj4", 
      authDomain: "echoproject-blah.firebaseapp.com", 
      databaseURL: "https://echoproject-blah.firebaseio.com", 
      storageBucket: "echoproject-blah.appspot.com", 
      messagingSenderId: "83962234234322" 
     }; 


    firebase.initializeApp(config); 

    firebase.datetbase().ref('/employee/').push({ 
     med_number: Math.floor(Math.random() * 1000), 
     full_name: 'John Smith', 
     date_employed: Date.now(), 
     email: '[email protected]', 
     phone_number: '+123423423', 
     profile_picture : 'blah.img' 
    }).catch(function(err){ 
    console.log(err); 
    }); 



    if (event.session.new) { 
     onSessionStarted({ requestId: event.request.requestId }, event.session); 
    } 

    if (event.request.type === 'LaunchRequest') { 
     onLaunch(event.request, 
      event.session, 
      (sessionAttributes, speechletResponse) => { 
       callback(null, buildResponse(sessionAttributes, speechletResponse)); 
      }); 
    } else if (event.request.type === 'IntentRequest') { 
     onIntent(event.request, 
      event.session, 
      (sessionAttributes, speechletResponse) => { 
       callback(null, buildResponse(sessionAttributes, speechletResponse)); 
      }); 
    } else if (event.request.type === 'SessionEndedRequest') { 
     onSessionEnded(event.request, event.session); 
     callback(); 
    } 
    } catch (err) { 
    callback(err); 
    } 



} 

我是我遗漏了什么?

我正在尝试为我的Amazon Echo使用Firebase。这会令人困扰吗?

我的firebase.database没有被识别吗?

UPDATE

这些solutions没有工作对我来说无论是

** **解决

这么多的挫折后,我决定放弃了火力SDK的NodeJS和使用火力地堡端点网址

var myJSONObject = { 
      med_number: Math.floor(Math.random() * 1000), 
      full_name: 'John Bruh', 
      date_employed: Date.now(), 
      email: '[email protected]', 
      phone_number: '+345345', 
      profile_picture : '34534534' 
     }; 
request({ 
    url: "https://echoproject-c78fghfgh6f.firebaseio.com/rest/saving-data/users.json", 
    method: "POST", 
    json: true, // <--Very important!!! 
    body: myJSONObject 
}, function (error, response, body){ 
    if(error) console.log(error); 
    console.log(response); 
}); 
+0

是否有任何错误消息可以包含在您的问题中? – cartant

+0

@cartant所以我在push方法之后添加了一个catch方法,但它很奇怪,因为它甚至没有console.log任何东西。 Idk如果您更熟悉Lambda函数的工作方式,但我觉得我的firebase的方法正在跳过?因为我认为nodejs lambda工作方式是因为它是异步的,它在firebase方法完成初始化之前结束?让我知道如果我错了,这只是一个疯狂的猜测 –

+2

很高兴听到你找到了解决方案。但Stack Overflow不是常规论坛,因此请将您的解决方案作为答案添加到您的问题中。这也消除了在标题中指出您的问题已经解决的必要性:一旦您接受了自己的答案,系统就会知道您的问题已解决并相应地标记。 –

回答

0

拥有数据库而不是'datetbase'可能有助于:

firebase.datetbase().ref('/employee/').push({ 
+1

对不起,这只是一个错字。仍然有问题 –