2016-09-22 2 views
3

誰かがこれを行う方法を教えてもらえますか? ラムダファンクションでFirebase APIを使用するAWS

この

は私がこれまで持っていると私は、通常のWebアプリケーションにラムダ関数を使用せずにこれをテストした

それは私のデータベースにデータを追加していないと、それは私が私だ

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のどれもが私のために働いていないのいずれか

**解決しよう**

そんなに不満の後、私はfirebase Nodejs SDKを捨てとFirebaseエンドポイントのURLを使用することにしました

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には何も出力されないので奇妙です。もしあなたがラムダ関数の仕組みにもっと慣れていれば、私のfirebaseのメソッドがスキップされているような気がしますか? nodejs lambdaの仕組みは非同期であると思うので、firebaseメソッドの初期化が完了する前に終了しますか?私が間違っていると私に知らせてください。それはちょっと野生の推測です –

+2

あなたが解決策を見つけたと聞いてうれしいです。しかし、スタックオーバーフローは、定期的なフォーラムではないので、あなたの質問の代わりにあなたの答えを答えとして加えてください。それによって、タイトルにあなたの問題が解決したことを示す必要がなくなります。あなた自身の答えを受け入れると、システムは問題が解決されたことを知り、それに応じてそれをマークします。 –

答えて

0

「datetbase」ではなくデータベースを持つと、

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

申し訳ありませんが、それは単にタイプミスでした。まだ問題がある –

関連する問題