虽然我觉得Firebase中的云函数相当方便,但我很难弄清楚如何以任何方式配置它们。firebase init
生成了包含functions.predeploy
属性的firebase.json,但还有其他可用选项吗?我找不到此文件的任何架构。默认情况下,我的云功能部署为Node.js 6应用程序。我如何定义我想使用平台已经支持的Node.js 8?如何更改已使用的内存量?如何定义环境变量?所有这些都可以通过cli命令或从UI指定,但在下次部署时会被覆盖。难道没有什么东西可以添加到我的firebase.json
中,允许我将这些值指定为永久性的东西吗?还是我真的必须与成熟的谷歌云和部署管理器合作才能让它发挥作用?
您的所有问题都在文档中得到了解答。
设置节点版本。
通过在package.json文件中添加一个engines字段来设置版本在初始化期间在函数/目录中创建的。例如,如果您喜欢只使用版本8,请将package.json编辑为添加此行:
"engines": {"node": "8"}
指定其他运行时配置。
要在函数源代码中设置内存分配和超时,请使用runWith参数在用于云函数的Firebase SDK中引入2.0.0.此运行时选项接受符合RuntimeOptions接口的JSON对象,该接口定义timeoutSeconds和记忆力例如,此存储功能使用1GB的内存和300秒后超时:
const runtimeOpts = { timeoutSeconds: 300, memory: '1GB' } exports.myStorageFunction = functions .runWith(runtimeOpts) .storage .object() .onFinalize((object) = > { // do some complicated things that take a lot of memory and time });
设置环境配置。