我刚刚为Firebase实施了新的Cloud Functions,但是日志中有些东西困扰着我:
未配置结算帐户。无法访问外部网络,并且配额受到严重限制。配置计费帐户以消除这些限制
我实际上设法从外部网络访问该功能,所以我想知道我是否真的必须提供计费帐户?Firebase文档中对此没有任何内容。
我将Spark订阅计划用于个人测试,并且如果我不打算支付任何费用,则不想添加账单信息。
Answers:
当未配置结算帐户时,Google Cloud Functions会自动记录“未配置结算帐户”警告消息。这并不意味着您的代码无法正常工作,而只是为了提醒您,以防万一您遇到问题。
限制与出站访问有关-例如,您的功能可以从通用Internet请求资源。使用功能来响应Webhook或访问Google内部服务(例如实时数据库)绝对是件好事。
例如,如果您想调用第三方Web服务,则需要启用计费功能。
有关其他配额,请查看:https : //firebase.google.com/pricing/-如您所见,调用次数(在撰写本文时为125,000)以及CPU和内存(40k cpu-秒(免费层)和40k GB-秒)。
道格·史蒂文森的答案对我有最大的帮助:
TL; DR:这是一条警告消息。如果您不打出电话,那很好
在Spark计划上执行时,所有功能都会显示该警告消息。这只是一个警告-如果您自己进行任何出站联网,则可以忽略它。
我们正在研究更改或删除该消息,以减少混乱。
[...]
第一次调用发生,但在火花计划中时会被标记,并从外部网络调用(请参阅日志)
在撰写本文时,称为BLAZE(即用即付)的计划允许联网(外部访问),并且具有永久免费层。
每月免费提供前2,000,000次调用,400,000 GB-秒,200,000 CPU-秒和5GB的Internet出口流量。您只需为超出此免费分配量的使用量付费。
有关云功能定价的更多信息https://cloud.google.com/functions/pricing
确保您的项目已链接到计费帐户。
如果您导航到https://console.cloud.google.com/billing
您应该可以在此处找到Firebase项目。如果不是,那么您将需要转到项目列表,然后从项目菜单中选择计费,然后将计费帐户链接到该项目。
"engines": {
"node": "8"
},
> firebase deploy
然后,如果您发现上面标记有红线的图像是您的Firebase项目托管区域,则您将在终端中获得此类型的https://i.stack.imgur.com/4hWQZ.png输出。如果您也得到相同的结果,那么一切都已完成,我们就在最后一步
手动,我们必须点击项目终点
https://yourregion-firebaseprojectname.cloudfunctions.net/yourfunctionname
(exported function name)
在我的情况下 https://us-central1-socialape-d5dab.cloudfunctions.net/helloWorld
或按照以下步骤
1.Depreciate node version to 8
2. firebase deploy
3. you'll get deploy complete message above that message you'll see
functions[helloWorld(us-central)]:Succesful update operation .
4. this us-central is your project hosted region
prefix to this [helloWorld is your function name get this information from uour output terminal.
5. After that https://yourregion-firebaseprojectname.cloudfunctions.net/yourfunctionname
(exported function name) which is helloWorld
是的,您需要从现有的免费计划中升级到卓越计划,这是火花。在您超过火花计划的利益之前,您不会被收取费用。