У меня возникли проблемы с сохранением данных в базе данных firebase с использованием функции лямбда. Это время. Я попытался установить тайм-аут до 5 минут, что в идеале не должно выполняться, но все же его тайм-аут.AWS Функция лямбда-тайм-аута при добавлении ввода в базу
'use strict';
var firebase = require('firebase');
exports.handler = (event, context, callback) => {
console.log(context);
var params = JSON.stringify(event);
var config = {
apiKey: "SECRETAPIKEY",
authDomain: "myapplication.firebaseapp.com",
databaseURL: "https://myapplication.firebaseio.com",
storageBucket: "myapplication.appspot.com",
messagingSenderId: "102938102938123"
};
if(firebase.apps.length === 0) { // <---Important!!! In lambda, it will cause double initialization.
firebase.initializeApp(config);
}
var db = firebase.database();
var postData = {
username: "test",
email: "[email protected]"
};
// Get a key for a new Post.
var newPostKey = firebase.database().ref().child('posts').push().key;
// Write the new post's data simultaneously in the posts list and the user's post list.
var updates = {};
updates['/posts/' + newPostKey] = postData;
callback(null, {"Hello": firebase.database().ref().update(updates)}); // SUCCESS with message
};
Выше кода сохраняет данные в firebase, но время истекает.
Если я использую context.callbackWaitsForEmptyEventLoop = ложь как объяснено в Link это не тайм-аут, но данные не получает спасение.
Пожалуйста, дайте мне знать, как я могу исправить эту проблему. В cloudwatch нет никакой полезной информации.
Еще одна вещь. Если я использую rest api для firebase, чтобы сохранить данные, они хорошо работают.
Надеюсь, что мой ответ здесь помогает https://stackoverflow.com/a/45266181/2073325 – gchao