android - Firebase 数据库每 1 小时更新一次,使用 AWS lambda 函数
问题描述
在我的场景中,我需要每 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”、“stackTrace”:[“^^^^^^”、“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"});
推荐阅读
- python - 如何在 python 中读取大型 Json 文件以获取某些值
- ios - 需要帮助减少 RXSwift 中的部分
- javascript - nodejs(express)服务器重新启动后,Agenad 作业没有重新开始
- android - 在 Android 中配置可用于 Google Speech To Text API 的录制文件?
- java - 在Java中的列表中添加具有键值对的值
- path - 如何获取用于 CreateJs 的绘图的字符串路径?
- python-3.x - 我使用 imageai 包进行自定义产品检测时出错
- java - 在Java中你如何调试由JPackage创建的exe
- vb.net - 使用带有 VB.NET Windows 窗体的新 Dymo Connect SDK 打印自定义标签
- ios - SwiftUI | 使用 onDrag 和 onDrop 在一个 LazyGrid 中重新排序项目?