对于 firebase 触发的函数(例如@on_document_created),如何指定分配给单个函数的内存?
firebase.json 文件没有改变任何东西,所有功能都是 256 mb。
{
"functions": [
{
...
"memory": "1GB",
"timeoutSeconds": 300,
...
更改单个功能的内存是在云控制台内部更改,比较费力。
有什么方法可以在触发器中定义它,这样我在更改代码后就不必重新部署它来进行内存调整?
这在文档中有所介绍,这表明您可以在源代码中提供所需的内存:
在某些情况下,您的函数可能对较长的超时值或较大的内存分配有特殊要求。您可以在 Google Cloud 控制台或函数源代码中设置这些值(仅限 Firebase)。
要在函数源代码中设置内存分配和超时,请使用内存和超时秒数的全局选项来自定义运行函数的虚拟机。
提供的示例适用于 Cloud Storage,但其他类型的触发器(包括 Firestore)的选项相同。
@firestore_fn.on_document_created(
"my-collection/{docId}",
memory=options.MemoryOption.GB_1
)
您可以在 firebase_functions.firestore_fn的 API 文档中查看所有选项。 on_document_created 接受 FirestoreOptions,其中包括 MemoryOption 值。