2016-09-22 2 views
3

Может кто-нибудь, пожалуйста, скажите мне, как это сделать?Использование Firebase API в лямбда-функциях AWS

Это то, что я до сих пор, и это не добавляет данные в свою базу данных

Я проверил это без использования лямбда-функции на регулярной веб-приложения, и он работает

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); 
    } 



} 

Я I что-то не хватает?

Я пытаюсь использовать firebase для своего Amazon Echo. Будет ли это беспокоить его?

Является ли моя база данных firebase.database не распознающей?

UPDATE

Ни один из этих solutions работал для меня либо

** решаемые **

Таким образом, после многих разочарований я решил угробить firebase Nodejs SDK и использовать URLs Firebase Endpoint

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, поэтому я добавил метод catch после метода push, но это странно, потому что он даже не запускает ничего. Idk, если вы более знакомы с тем, как работает функция Lambda, но я чувствую, что мой метод firebase пропускается? Поскольку я думаю, что метод nodejs лямбда работает, так как он асинхронен. Он заканчивается до того, как метод firebase завершит инициализацию? Дайте мне знать, если я ошибаюсь, это просто дикое предположение. –

+2

Приятно слышать, что вы нашли решение. Но Stack Overflow не является регулярным форумом, поэтому, пожалуйста, добавьте свое решение в качестве ответа, а не в свой вопрос. Это также устраняет необходимость указывать в заголовке, что ваша проблема решена: как только вы примете свой собственный ответ, система узнает, что ваша проблема была решена, и отметьте ее соответствующим образом. –

ответ

0

Наличие такой базы данных, но не 'datetbase' может помочь:

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

К сожалению, это была только опечатка. Все еще проблема –

Смежные вопросы