2016-09-22 93 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

對不起,這只是一個錯字。仍然有問題 –