Обновление базы данных Firebase каждый 1 час с использованием функции AWS lamda - PullRequest
0 голосов
/ 10 мая 2018

В моем сценарии мне нужно обновлять базу данных firebase каждые 1 час. Поэтому я решил запустить это в функции AWS lamda, потому что в облачной функции нет триггера по расписанию. Ниже мой код не может добавить библиотеку Firebase в функцию AWS Lamda.

        'use strict';


         import * as admin from 'firebase-admin';
         var Firebase = require('firebase');
         exports.handler = (event, context, callback) => {
        // TODO implement

        context.callbackWaitsForEmptyEventLoop = false;  //<---Important

         var config = {
         apiKey: "AIzaSy########################",
         authDomain: "########.firebaseapp.com",
         databaseURL: "https://a########.firebaseio.com",
         projectId: "aws#####",
         storageBucket: "",
         messagingSenderId: "83526964121"
         };

Ошибка ниже:

Не удается найти модуль 'firebase' "

"errorMessage": "Неожиданный импорт токена", "errorType": "SyntaxError", "трассировки стека": [ "^^^^^^", "SyntaxError: Неожиданный импорт токена", "createScript (vm.js: 56: 10)",

Не удается найти модуль 'firebase' "

Как добавить модуль Firebase в функцию Aws Lamda. Пожалуйста, дайте мне подсказку .. Заранее спасибо

1 Ответ

0 голосов
/ 10 мая 2018

, если ваш администратор успешно импортирован в вашу функцию lamda, просто инициализируйте ее учетными данными (файл json или обязательные поля).См .: https://firebase.google.com/docs/admin/setup.

Для этого вам не нужна зависимость от firebase, поскольку функция lamda не видна пользователям, она может использовать доступ администратора к вашей базе данных.

Теперь, когда инициализируется sdk вашего администратора, вам просто нужнополучить ссылку на базу данных следующим образом (стиль javascript):

let db= admin.database();

Теперь у вас есть ссылка на базу данных, и вы можете легко написать в любое место, поскольку администратор имеет полный доступ к вашей базе данных.

db.ref().child('/someNode').set({"key":"value"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...