我可以从一个云功能写入多少个Firestore集合和文档?



所以我有一个Webhook,它向我的云函数URL提供JSON有效负载。

在云功能中,我将JSON写入云Firestore的限制是什么?

我无法将JSON有效负载全部转储到集合中的一个文档中,因此我需要将其全部解析为不同的字段。

所以我的cloud函数看起来像这样:

await admin.firestore().collection("collection1").doc(doc1).set({
field1: data.fieldFromJson1
})
await admin.firestore().collection("collection1").doc(doc1).collection("sub-collection1").doc(doc2).set({
field2: data.fieldFromJson2
})

我可以在一个云函数中完成还是需要两个函数?

我有100行JSON要在我的云firestore中解析,所以这个例子非常简化。

引用,文档:

https://cloud.google.com/functions/docs

https://github.com/firebase/functions-samples

技术上没有任何限制,只要保持文档中定义的速率限制,就应该没问题。如果它是一个拥有所有数据的单一webhook,那么你可以一次编写所有文档。您可以使用Promise.all()Batch Writes(如果编写最多500个文档)。

// parse data and map an array as shown below 
const promises = [
admin.firestore().collection("collection1").doc(doc1).set({
field1: data.fieldFromJson1
}),
admin.firestore().collection("collection1").doc(doc1).collection("sub-collection1").doc(doc2).set({
field2: data.fieldFromJson2
})
]
await Promise.all(promises)
// any other processing
res.status(200).end() // terminate the function

如果你期望大量的数据,可能需要一些时间来解析,那么确保你为函数设置更高的超时(默认为60秒)。

相关内容

  • 没有找到相关文章

最新更新