监听 Pub/Sub 通知

参考架构示例

使用预算提醒程序化通知自动执行费用控制响应的示例图。
图 1:此示例展示了如何使用预算提醒,通过用于程序化通知的 Pub/Sub 和用于自动响应的 Cloud Run 函数来自动执行费用控制响应。

本文档介绍了如何使用 Cloud Run 函数触发器订阅 Pub/Sub 主题,以监听程序化预算通知。如果没有订阅者,Pub/Sub 会丢弃已发布的消息,您以后将无法再检索到它们。在本文档中,您将学习如何完成以下任务:

  1. 创建一个 Cloud Run 函数来监听通知。
  2. 查看 Cloud Run 函数事件。
  3. 测试 Cloud Run 函数。

准备工作

在开始之前,您必须完成以下任务:

  1. 创建预算
  2. 设置程序化通知

创建 Cloud Run 函数

如需创建 Cloud Run 函数,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往 Cloud Run 函数页面。

    前往 Cloud Run 函数

  2. 点击创建函数,然后输入对您的预算通知有意义的函数名称

  3. 选择将运行 Cloud Run 函数的区域。部署函数后,您将无法修改此设置。

  4. 对于触发器类型,选择 Cloud Pub/Sub

  5. 选择您在预算中配置的 Cloud Pub/Sub 主题

  6. 根据需要修改运行时构建连接安全设置,然后点击下一步

  7. 使用内嵌编辑器编写代码,或上传文件来告知函数如何处理通知。

    如需查看代码示例,请参阅以下示例:

    如需详细了解您的代码将收到的通知,请参阅通知格式

  8. 入口点设置为要执行的正确函数:

  9. 点击部署

查看 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 等消息属性。如需了解详情,请参阅通知格式

后续步骤

如需详细了解如何使用程序化通知,请查看以下程序化费用控制响应示例: