虽然我发现Firebase中的Cloud Functions相当方便,但我在弄清楚如何以任何方式配置它们时遇到了麻烦。 firebase init
生成了包含functions.predeploy
属性的firebase.json,但是还有其他可用选项吗?我找不到此文件的任何架构。
默认情况下,我的云功能被部署为Node.js 6应用程序。如何定义要使用平台已支持的Node.js 8?如何更改已使用的内存量?如何定义环境变量?所有这些都可以通过cli命令或从UI指定,但是在下一次部署期间将被覆盖。我可以添加一些到我的firebase.json
中吗,这些东西可以让我将这些值指定为永久值?还是我实际上必须与成熟的Google Cloud和Deployment Manager一起使用才能使其正常工作?
答案 0 :(得分:0)
您所有的问题都会在文档中得到解答。
通过将引擎字段添加到package.json文件来设置版本 在初始化期间在您的functions /目录中创建的文件。 例如,如果您只想使用版本8,则将package.json编辑为 添加此行:
"engines": {"node": "8"}
要在函数源代码中设置内存分配和超时,请使用 Firebase SDK for Cloud Functions中引入的runWith参数 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 });