在我的场景中,我需要每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功能。请给我一个提示.. 提前致谢
答案 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"});