[使用AWS lambda函数每1小时更新Firebase数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[使用AWS lambda函数每1小时更新Firebase数据库相关的知识,希望对你有一定的参考价值。
在我的场景中,我需要每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'“
如何将Firebase模块添加到Aws Lamda函数。请给我一个提示。在此先感谢
答案
如果您的管理员成功导入了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"});
以上是关于[使用AWS lambda函数每1小时更新Firebase数据库的主要内容,如果未能解决你的问题,请参考以下文章