# 数据总线集成

# 概述

介绍业务如何将消息内容发送到数据采集总线,提供数据给下游业务

# 本内容你将获得

  • 接口说明
  • 录入业务线
  • 录入消息主题
  • 调用接口发送数据

# 集成使用

# 接口说明

序号 功能 接口 请求方式
1 直接发送 http://HOST_PATH/v2/api/data/bus/collect/directSendData?bizId=?&topicName=? POST
2 线程发送 http://HOST_PATH/v2/api/data/bus/collect/threadSendData?bizId=?&topicName=? POST

配置说明:

  • HOST_PATH: 数据采集服务地址或者网关地址
  • 请求参数 bizId 业务线ID
  • 请求参数 topicName: 消息主题名称
  • 请求内容: 消息体

# 录入业务线

在数据采集总线前端,录入业务线

配置说明:

  • 业务线,某一种业务类型。比如: 社保业务管理,社保缴存消息,社保异常消息等
  • 一条业务线可以拥有多个消息主题

# 录入消息主题

在数据采集总线前端,录入消息主题

配置说明:

  • 消息主题限制只能录入字母、数字、下划线

# 调用接口发送数据

# java调用

@Test
void testThreadSendData() {
    //接口地址
	String url = "http://HOST_PATH/v2/api/data/bus/collect/threadSendData?bizId=bizId&topicName=ticket_info_list";

    //设置传输内容,此处用json格式组装数据
	JSONObject json = new JSONObject();
	json.put("始发站","郑州东站");
	json.put("终点站","安阳东");
	json.put("座位号","15车10D 二等座");
	json.put("发车时间","2019年06月14号10:55分开");

	String result = HttpRequest.post(url)          //使用HttpClient发送消息
			.header("Content-Type", "text/html,")  //头信息,可使用文本格式发送
			.body(String.valueOf(json))
			.execute().body();
	log.info("请求结果:{}",result);

}

# shell脚本调用

1、将数据内容写入文件中

[root@hadoopmaster xixixi]# more body.txt
{
    "始发站": "郑州东站",
    "终点站": "安阳东",
    "座位号": "15车10D 二等座",
    "发车时间": "2019年06月14号10:55分开"
}

2、调用脚本发送消息

[root@hadoopmaster xixixi]# curl -XPOST -T body.txt http://HOST_PATH/v2/api/data/bus/collect/directSendData?bizName=旅客运输业务&topicName=ticket_info_list
[root@hadoopmaster xixixi]# curl -XPOST -T body.txt http://HOST_PATH/v2/api/data/bus/collect/threadSendData?bizName=旅客运输业务&topicName=ticket_info_list

# 其它