[使用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数据库的主要内容,如果未能解决你的问题,请参考以下文章

我如何设置在流程开始后24小时触发一次AWS Lambda?

AWS - dynamoDB 价格和使用情况

使用AWS步骤函数处理大量数据?

如何在 AWS Lambda 中使用 cURL 和邮件

AWS Lambda 函数 - 无法调用更新事物影子

AWS Lambda Invoke 不执行 lambda 函数