Firebase云功能配置

Firebase云功能配置,firebase,google-cloud-functions,Firebase,Google Cloud Functions,虽然我发现Firebase中的云函数相当方便,但我很难弄清楚如何以任何方式配置它们。firebase init生成了包含functions.predeploy属性的firebase.json,但是还有其他可用选项吗?我找不到此文件的任何架构。 默认情况下,my cloud函数部署为Node.js 6应用程序。我如何定义我想要使用Node.js 8,它已经得到了平台的支持?如何更改已使用的内存量?如何定义环境变量?所有这些都可以通过cli命令或从UI指定,但将在下次部署期间被覆盖。难道没有什么东西

虽然我发现Firebase中的云函数相当方便,但我很难弄清楚如何以任何方式配置它们。
firebase init
生成了包含
functions.predeploy
属性的firebase.json,但是还有其他可用选项吗?我找不到此文件的任何架构。
默认情况下,my cloud函数部署为Node.js 6应用程序。我如何定义我想要使用Node.js 8,它已经得到了平台的支持?如何更改已使用的内存量?如何定义环境变量?所有这些都可以通过cli命令或从UI指定,但将在下次部署期间被覆盖。难道没有什么东西可以添加到我的
firebase.json
中,让我可以将这些值指定为永久性的东西吗?还是说我必须与成熟的Google Cloud和部署管理器合作才能让它正常工作?

文档中回答了您所有的问题

通过向package.json文件添加引擎字段来设置版本 初始化期间在函数/目录中创建的。 例如,如果您希望只使用版本8,请将package.json编辑为 添加此行:

"engines": {"node": "8"}

要在源代码中设置内存分配和超时函数,请使用 Firebase SDK中为云函数引入了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   });

看看这个,我以前已经看过了。这不是我要找的。我创建了一个函数并成功地部署了它,但如果我简单地键入
firebase deploy[--仅函数]
,它们将使用节点6,而不是8和256MB内存,而我只需要128个,不想支付我所需的两倍。如果我在AWS上部署lambda,我会在CloudFormation模板中定义完整的执行环境。我基本上是在Firebase中寻找类似的模板。您是否尝试卸载当前的node 6并以管理员权限重新安装node 8?例如。。。什么在我的本地机器上?我从未有过节点6。我现在只有节点8。我说的是Firebase中的执行环境。。。我认为我的本地安装与此无关。至于Firebase,它是一个配置选项。实际上,在部署功能之后,您必须手动转到这些功能,并明确地分别按下每个要使用“Node 8 Beta”的功能。。。或者Python:P这些选项仍然存在,但是在部署期间您从来没有指定它们的选项。。。而这正是他们应该被提供的地方