问题描述
我正在尝试将云功能用于个人项目,但这需要升级到Blaze计划。我想确保自己不会被意外收取费用,因此我一直在考虑限制GCP的结算费用(我犯了在我的代码中意外设置无限循环的错误,该循环反复修改了Firebase数据库)。 documentation在两点上让我感到困惑:
根据您的运行时,可能会自动设置GCP_PROJECT环境变量。查看自动设置的环境变量列表,并确定是否需要手动为要限制(禁用)Cloud Billing的项目设置GCP_PROJECT变量。
由于运行时环境是Node v10,我是否应该将GCP_PROJECT作为环境变量添加到stopBilling云函数中?它的值就是项目ID吗?
当预算发出通知时,指定的项目将不再具有Cloud Billing帐户。如果要测试功能,请发布带有上面测试消息的示例消息。在Cloud Billing帐户下该项目将不再可见,并且该项目中的资源将被禁用,包括Cloud Function(如果它在同一项目中)。
“上面的测试消息”是指“测试您的云功能”中的消息吗?如果是这样,它就没有为我工作。我什至没有从测试邮件中收到任何预算通知(它们应该显示在我的电子邮件中吗?)
解决方法
您的第一个假设是正确的,您需要在Node.js 10运行时中手动设置GCP_PROJECT
环境变量,其值为projectId。
对于第二个问题,我同意该文档在该特定主题上可能会产生误导,但是您可以使用“管理程序化预算警报通知”文档的Connect a Cloud Billing budget to a Pub/Sub topic中的说明,我认为您共享的文档是参考。
让我知道这是否有帮助。