Apigee Integration 和 Cloud Pub/Sub 触发器使用入门

了解如何使用 Apigee Integration 和 Cloud Pub/Sub 触发器创建示例集成。以下步骤介绍了如何配置运行完整集成所需的触发器、任务、变量和数据映射。

概览

在本快速入门中,您将创建一个与 Cloud Pub/Sub 触发器的集成,以侦听现有 Pub/Sub 主题,从 IOT 设备接收以开氏度为单位的温度读数。然后,您可以使用数据映射任务将 Pub/Sub 消息转换为摄氏度,并在电子邮件中发送值。

准备工作

在开始学习本快速入门之前,请确保先执行以下任务:

    • 将以下 IAM 角色分配给 Google Cloud 项目中的 Apigee Integration Service Agent(service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com)。
      • “发布/订阅”编辑者
      • Apigee Integration Invoker

        如需详细了解如何分配 IAM 角色,请参阅 IAM 角色和权限

    设置环境

    创建新的 Cloud Pub/Sub 主题

    本快速入门假设您有一个 Pub/Sub 主题,它从 IOT 设备接收以开氏度为单位的温度读数。没有必要将主题实际连接到设备。本快速入门将测试此集成在监听主题和触发任务时执行任务的能力。

    如需创建示例主题以用于本快速入门,请执行以下操作:

    1. 转到 Cloud 控制台中的 Pub/Sub 主题页面。

      转到 Pub/Sub 主题页面

    2. 点击创建主题
    3. 主题 ID 字段中,提供唯一的主题名称。例如 temperaturesensor
    4. 点击保存

    创建新的集成

    如需创建新的集成,请执行以下步骤:

    1. Apigee 界面中,选择您的 Apigee 组织
    2. 点击开发 > 集成
    3. 点击创建集成
    4. 创建 Integrations 对话框中输入名称和说明。例如,my-test-integration
    5. 选择集成的区域。
    6. 点击创建以打开集成编辑器。

    添加 Cloud Pub/Sub 触发器

    如需将 Cloud Pub/Sub 触发器添加到集成中,请按以下步骤操作:
    1. 在集成编辑器中,选择触发器以显示可用触发器列表。
    2. 点击 Cloud Pub/Sub 触发器元素,并将其放置在设计器中。

    配置 Cloud Pub/Sub 触发器

    点击集成编辑器中的 Cloud Pub/Sub 触发器 (Cloud Pub/Sub Trigger) 元素以查看触发器配置窗格。

    按照以下格式在 Pub/Sub 主题字段中指定触发器应侦听的主题:

    projects/PROJECT_ID/topics/TOPIC_ID
    其中:
    • PROJECT_ID 是在其中创建主题的 Google Cloud 项目。
    • TOPIC_ID 是您在准备工作中创建的 Cloud Pub/Sub 主题的 ID。

    例如,如果您的项目命名为 my-project 并将主题命名为 temperaturesensor,请输入:

    projects/my-project/topics/temperaturesensor

    如需查看 Google Cloud 项目中的所有可用主题,请查看主题中的主题名称列。

    Cloud Pub/Sub 触发器配置面板将自动使用变量填充触发器输出字段以保存 Pub/Sub 消息。

    添加并配置“数据映射”任务

    如需配置数据映射任务,请执行以下操作:

    1. 选择任务以显示可用任务的列表。
    2. 点击数据映射元素,并将其放置到集成编辑器中。
    3. 点击设计器上的数据映射任务以打开任务的配置窗格。
    4. 点击打开数据映射编辑器

      借助数据映射编辑器,您可以使用可用的转换函数将输入变量映射为所需的输出变量。然后,输出可用作任何其他集成任务或触发器的变量。如需详细了解如何以变量形式传递数据,请参阅在 Apigee Integration 中使用变量

      在本快速入门中,请按照以下步骤使用 CloudPubSubMessage 作为输入来创建映射:

      1. 展开变量列表中的 CloudPubSubMessage JSON 变量,然后将 CloudPubSubMessage.data 变量拖动到第一个输入行。
      2. 点击 CloudPubSubMessage.data 变量旁边的 +(添加函数)以查看可用函数下拉列表。
      3. 选择 TO_DOUBLE()CloudPubSubMessage.data 值转换为 double 数据类型。
      4. 再次点击 +(添加函数),以选择和链接 SUBTRACT 函数。
      5. 输入 273.15 作为 SUBTRACT 函数值。这是将开氏温度转换为摄氏温度。
      6. 点击输出列中的第一行,以创建一个新变量来存放转换后的数据的值。填写以下字段:
        • 名称:输入 TempInCelsius
        • 选中用作集成的输出
        • 点击创建以创建变量并关闭窗格。新的 TempInCelsius 变量将显示在变量列表中。
      7. TempInCelsius 变量从变量列表拖动到输入列中的第二行。
      8. 点击 TempInCelsius 变量中的 + (Add a function)(+ [添加函数]),以查看可用函数的下拉列表。
      9. 点击 TO_STRING() 以将变量的数据类型从 double 转换为 string
      10. 点击输出列中的第二行,以创建一个新变量来存放转换后的数据的值。填写以下字段:
        • 名称:输入 TempInCelsiusString
        • 空白默认值表示:选择空字符串
        • 选中 Use as an output of integration(用作集成的输出)复选框。
        • 点击创建以创建变量并关闭窗格。新变量将显示在数据映射编辑器左侧的变量列表中。
      11. 映射完成后,关闭数据映射编辑器。所有更改都将自动保存。

    添加并配置“发送电子邮件”任务

    如需配置发送电子邮件任务,请执行以下操作:

    1. 在集成编辑器中选择任务以显示可用任务列表。
    2. 点击发送电子邮件元素,并将其放置到集成编辑器中。
    3. 点击设计器上的发送电子邮件元素以打开任务的配置窗格。设置以下属性:
      • 收件人:输入您的电子邮件地址。 您将使用此电子邮件来确认集成已成功完成。
      • 主题:输入 Temperature in Celsius
      • 纯文本正文:选择之前在数据映射任务中创建的 TempInCelsiusString 变量。
      • 其余选项可以保留默认配置。
      系统会自动保存对属性的更改。

    添加所需的边缘连接

    边缘是集成中的任何两个元素之间的连接。 连接表示控制流从一个元素(任务或触发器)到另一个元素的方向。 如需详细了解边缘,请参阅边缘

    1. 如需添加从 Cloud Pub/Sub 触发器元素到数据映射元素的边缘连接,请将控制点悬停在 Cloud Pub/Sub 触发器元素上,然后点击线条并将其拖动到数据映射任务元素上的控制点。此边缘表示从 Cloud Pub/Sub 触发器任务到数据映射任务的控制流。
    2. 如需添加从数据映射元素到发送电子邮件元素的边缘连接,请将控制点悬停在数据映射元素上,然后点击线条并将其拖动到发送电子邮件任务元素上的控制点。此边缘表示从数据映射任务到发送电子邮件任务的控制流。

    已完成的连接应如下图所示:

    显示快速入门流程的图片 显示快速入门流程的图片

    测试集成

    如需从 Pub/Sub 主题页面中测试新集成,请执行以下步骤:

    1. 转到 Cloud 控制台中的 Pub/Sub 主题页面。

      转到 Pub/Sub 主题页面

    2. 搜索然后选择您创建的 temperaturesensor 主题。
    3. 在主题详情页面中,点击 + 发布消息,以打开发布消息配置窗格。
    4. 消息正文字段中,输入 307.15

      创建此消息会模拟 Pub/Sub 从 IoT 设备接收的温度读数(以开氏温度为单位)。

    5. 点击发布以将消息发布到主题并触发集成。

    成功完成后,集成会将开氏温度换算成摄氏度的电子邮件发送到发送电子邮件任务中指定的电子邮件地址。在电子邮件客户端中确认收到电子邮件。

    集成发送的电子邮件应具有包含值 34 的消息正文。

    除了验证电子邮件内容之外,您还可以检查日志以查看给定集成的状态和载荷。要查看日志,请执行以下操作:

    1. 在集成编辑器中,点击显示执行日志图标的图片查看此集成的执行日志。系统会显示执行日志页面。 如需详细了解执行日志,请参阅查看集成执行日志
    2. 执行日志页面上,您可以查看每次尝试运行集成的相关详细信息。每个条目都包含执行尝试的相关详细信息,其中包括:
      • 集成名称
      • 执行 ID
      • 状态
      • 开始时间
      • 时长
      • 集成版本
      • 触发条件 ID
    3. 点击已执行集成旁边的展开箭头 (>),以查看集成中任务和变量的扩展列表,以及任务状态和变量载荷。