应用与数据集成平台 ROMA CONNECT-配置源端数据信息:RabbitMQ

时间:2024-05-07 17:09:58

RabbitMQ

返回页首

任务的“集成模式”为“实时”时,可以选择RabbitMQ作为源端数据源,具体配置如下。
表12 源端RabbitMQ信息

参数

配置说明

是否创建新队列

选择是否在源端RabbitMQ数据源创建一个新队列。

  • 选择是,表示创建一个新队列,并从该队列获取数据。
  • 选择否,表示从已有队列中获取数据。

交换方式

仅当“是否创建新队列”选择“是”时需要配置。

选择RabbitMQ中交换器将消息转发到新队列的路由方式。

  • Direct:若消息的路由关键字与队列完全匹配,则消息会转发到队列。
  • Topic:若消息的路由关键字与队列模糊匹配,则消息会转发到队列。
  • Fanout:所有消息都会转发到队列。
  • Headers:若消息的Headers属性与队列完全匹配,则消息会转发到队列。

交换机名称

仅当“是否创建新队列”选择“是”时需要配置

填写RabbitMQ中新队列的交换器名称,自定义。

路由关键字

仅当“交换方式”选择“Direct”或“Topic”时需要配置。

填写新队列的路由关键字,RabbitMQ把路由关键字作为判断条件,符合条件的消息将转发到新队列。

消息参数

仅当“交换方式”选择“Headers”时需要配置。

填写新队列的Headers键值对,RabbitMQ把Headers作为判断条件,符合条件的消息将转发到新队列。

队列名称

填写要获取数据的消息队列名称。

  • 若“是否创建新队列”选择“是”,则自定义一个新的队列名称。
  • 若“是否创建新队列”选择“否”,则填写RabbitMQ数据源中已有队列的名称,并确保该队列已存在。

自动删除

当没有客户端连接队列时,队列是否自动删除。

持久化

队列中的消息是否持久化保存。

元数据

指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。

  • 别名:对元数据的自定义名称。
  • 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
  • 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明

元数据解析路径配置说明:

  • JSON格式数据中不含数组

    如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。

    此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d

    {
       "a": {
          "b": {
             "c": "xx",
             "d": "xx"
          }
       }
    }
  • JSON格式数据中含数组

    如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。

    此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d

    {
       "a": {
          "b": [{
             "c": "xx",
             "d": "xx"
          },
          {
             "c": "yy",
             "d": "yy"
          }
          ]
       }
    }

以上面JSON格式数据中不含数组的样例为例,源端为RabbitMQ的配置示例如下图所示。

图9 RabbitMQ配置示例
support.huaweicloud.com/usermanual-roma/roma_03_1006.html