Firebase数据库每1小时更新一次使用AWS lamda功能

时间:2018-05-10 06:17:44

标签: android amazon-web-services firebase firebase-realtime-database

在我的场景中,我需要每1小时更新一次firebase数据库。因此我决定在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"
         };

低于错误:

无法找到模块&#39; firebase&#39;&#34;

&#34; errorMessage&#34;:&#34;意外的令牌导入&#34;,   &#34; errorType&#34;:&#34; SyntaxError&#34;,   &#34; stackTrace&#34;:[     &#34; ^^^^^^&#34 ;,     &#34; SyntaxError:意外的令牌导入&#34;,     &#34; createScript(vm.js:56:10)&#34;,

无法找到模块&#39; firebase&#39;&#34;

如何将Firebase模块添加到Aws Lamda功能。请给我一个提示.. 提前致谢

1 个答案:

答案 0 :(得分:0)

如果您的管理员已成功导入您的lamda函数,只需使用凭据(json文件或必填字段)初始化它。见:https://firebase.google.com/docs/admin/setup

您不需要使用firebase依赖项,因为lamda函数对用户不可见,它可以使用管理员访问您的数据库。

现在当您的admin sdk初始化时,您只需要获取这样的数据库引用(javascript样式):

let db= admin.database();

现在您已经引用了数据库,并且您可以轻松地写入任何位置,因为管理员可以完全访问您的数据库。

db.ref().child('/someNode').set({"key":"value"});