在我的场景中,我需要每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"
};
低于错误:
找不到模块“ firebase””
“ errorMessage”:“意外的令牌导入”,
“ errorType”:“ SyntaxError”,
“堆栈跟踪”: [
“ ^^^^^^”,
“ SyntaxError:意外的令牌导入”,
“ createScript(vm.js:56:10)”,
找不到模块“ firebase””
如何在Aws Lamda函数中添加Firebase模块。请给我一个提示。
提前致谢
最佳答案
如果您的管理员已成功导入lamda函数中,则只需使用凭据(json文件或必填字段)对其进行初始化。请参阅:https://firebase.google.com/docs/admin/setup。
您不需要Firebase依赖关系来执行此操作,因为lamda函数对用户不可见,它可以使用对数据库的管理员访问权限。
现在,当您的admin sdk初始化时,您只需要获取像这样的数据库引用(javascript样式):
let db= admin.database();
现在,您已经参考了数据库,并且由于admin拥有对数据库的完全访问权限,因此您可以轻松地写入任何位置。
db.ref().child('/someNode').set({"key":"value"});