参考架构示例

本文档介绍了如何通过使用 Cloud Run 函数触发器订阅 Pub/Sub 主题来监听程序化预算通知。如果没有订阅方,Pub/Sub 会丢弃已发布的消息,并且您此后将无法再对这些消息进行检索。在本文档中,您将了解如何完成以下任务:
- 创建 Cloud Run 函数来监听通知。
- 查看 Cloud Run 函数事件。
- 测试 Cloud Run 函数。
准备工作
在开始之前,您必须先完成以下任务:
创建 Cloud Run 函数
如需创建 Cloud Run 函数,请完成以下步骤:
在 Google Cloud 控制台中,前往 Cloud Run functions 页面。
点击创建服务。
选择使用内嵌编辑器创建函数。
输入一个对您的预算通知有意义的服务名称。
选择 Cloud Run 函数将在其中运行的区域。部署函数后,您无法修改此设置。
点击添加触发器,然后选择 Cloud Pub/Sub。
如果系统提示,请启用所有必要的 API。
在 Eventarc 触发器面板中,完成以下步骤:
- 输入一个触发器名称。
- 将触发器类型设置为 Google 来源。
- 将事件提供方设置为 Cloud Pub/Sub。
- 选择您针对自己的预算配置的 Cloud Pub/Sub 主题。
- 选择区域。
- 点击保存触发器。
根据需要修改 Identity-Aware Proxy、结算、服务扩缩、入站流量和容器、卷、网络、安全性设置,然后点击创建。
您可以使用内嵌编辑器编写代码,也可以上传一个文件,告知函数如何处理通知。
如需查看代码示例,请参阅以下示例:
如需详细了解您的代码将收到的通知,请参阅通知格式。
将函数入口点设置为要执行的正确函数:
点击部署 (DEPLOY)。
查看 Cloud Run 函数事件
部署 Cloud Run 函数后,点击日志即可查看函数调用的日志。
测试 Cloud Run 函数
有通知发送到 Pub/Sub 时,订阅方会收到相应消息。如需测试示例通知以确保函数正常运行,请使用以下对象作为消息正文在 Pub/Sub 中发布消息:
{
"budgetDisplayName": "name-of-budget",
"alertThresholdExceeded": 1.0,
"costAmount": 100.01,
"costIntervalStart": "2019-01-01T00:00:00Z",
"budgetAmount": 100.00,
"budgetAmountType": "SPECIFIED_AMOUNT",
"currencyCode": "USD"
}
您还可以添加结算账号 ID 等消息属性。如需了解详情,请参阅通知格式。
后续步骤
如需详细了解如何使用程序化通知,请查看下列有关程序化费用控制响应的示例: