node.js - Firestore 无法与 AWS Lambda 配合使用

标签 node.js amazon-web-services firebase aws-lambda google-cloud-firestore

我已使用 Node.js 8.10 运行时在我的 AWS lambda 函数中初始化了 firebase。这是相关代码:

'use strict';

const https = require('https'),
      firebase = require('firebase-admin'),
      admin = require('firebase-admin');
//Initialize firebase
let serviceAccount = require('./one-deed-6b407-firebase-adminsdk-ha9ud-3c7ddb5906.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount)

});
let db = admin.firestore();

后来在代码中我创建了一个 firestore 数据库:

exports.handler = (event, context, callback) => {
   var docRef = db.collection('users').doc('alovelace');

   var setAda = docRef.set({
     first: 'Ada',
     last: 'Lovelace',
     born: 1815
   });
} 

但是,即使代码在本地运行时正常工作,也没有添加相关文档。

最佳答案

查看函数的执行时间。它应该很小。 lambda 代码不会等待 Firestore 函数执行。

正如 @doug-stevenson 指出的那样,您没有使用 promise 。 将 lambda 函数更改为 async 并在集合前面放置一个等待。 我希望这会有所帮助。

exports.handler = async function(event, context, callback) {
var docRef = db.collection('users').doc('alovelace');

let setAda = await docRef.set({
 first: 'Ada',
 last: 'Lovelace',
 born: 1815
});
}

关于node.js - Firestore 无法与 AWS Lambda 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51935338/

相关文章:

javascript - 让 grun-express 重新启动更改

javascript - 如何在 expressjs 中重定向后进行回调

javascript - 如何在非常快速地发出大量请求时修复 "Socket Hangup Error "

mysql - 降级AWS RDS实例

firebase - 是否可以在 Cloud Firestore 中查询多个文档子集合?

javascript - 错误边界应该实现 getDerivedStateFromError()

javascript - 查找文本中的日期

amazon-web-services - 一次性从多个区域访问 DynamoDb 中的数据

python - set_contents_from_string 在 S3 中上传时出现 AWS lambda_handler 错误

ios - 架构 x86_64 的 691 个重复符号