目录

1. 场景介绍

分析服务开放了服务端接口,允许开发者通过接口方式申请将端侧采集的事件数据进行导出,并导入到开发者自有的BI系统中,进行统一的数据分析。导出接口的处理过程为异步过程,处理完成后会将导出的数据上传到云端存储对象(Object Storage Service)中。导出的结果和数据的存储路径会通过接口回调的方式返回给开发者服务器,开发者需要根据导出结果的状态和文件路径,及时将数据下载到开发者服务器中。为了保证数据安全,下载链接会在2个小时后失效。

目前导出的状态有:

数据下载状态码状态码描述原因及处理

EXPORTED

成功导出

及时处理下载链接

NO_DATA

没有符合条件的数据

建议更改数据筛选条件

EXPORT_FAILED

导出失败

服务端异常,建议重试

TOO_MANY_RECORDS

一次导出数据量太多

建议缩小数据导出范围后重新发起请求

建议: 开发者服务端对下载链接的处理,采用异步处理方式,及时返回成功状态给分析服务器。

附:数据筛选条件

属性名称属性描述
app_ver
应用版本号
device_maker
设备品牌
device_name
设备型号
region_cd
位置编码
os_language

操作系统语言

os_ver
操作系统版本

2. 开发准备

2.1 设置回调接口

单击“我的项目”,在“分析>管理>分析设置”页面,勾选配置回调接口可进行相关设置。

1.配置回调接口地址,您的下载地址接收url。

2.配置https证书。

说明:

目前华为分析以HTTPS POST请求回调开发者接口,华为分析会校验开发者HTTPS证书的合法性,请开发者服务器务必使用正式商用的HTTPS证书。

3.单击“测试接口”可以对回调接口进行功能测试,测试通过后单击“提交”完成回调接口的配置。

3. 开发指导

在开发回调接口前,需要先准备一个公网域名,及一个可以接收post请求的接口(post接口需要有https证书)。

开发过程请查考:

1.开发回调接口(代码如下),开发的域名为: habackup.hwcloudtest.cn(此域名为开发者可访问域名)。

  1. @RequestMapping(value = "/agc/analytics/callback", method = RequestMethod.POST)
  2. public ResultResp callback(@RequestBody @Valid ExportDataCallbackReq req) {
  3.    ResultResp result = new ResultResp();
  4.    // Analytics Kit导出任务生成完成后,接收回调
  5.    if (LOGGER.isDebugEnabled()) {
  6.       LOGGER.debug("the download url: {}", req.getFilePath());
  7.    }
  8.    // 拿到下载地址,继续往下做业务逻辑
  9.    result.setResultCode("0");
  10.    result.setResultMsg("success");
  11.    return result;
  12. }

请求对象:

  1. public class ExportDataCallbackReq implements Serializable {
  2.    private static final long serialVersionUID = -8014011591749838257L;
  3.    @JsonProperty("request_id")
  4.    private String requestId;
  5.    @JsonProperty("app_id")
  6.    private String appId;
  7.    @JsonProperty("status")
  8.    private String status;
  9.    @JsonProperty("file_path")
  10.    private String filePath;
  11.    @JsonProperty("status_time")
  12.    private String statusTime;
  13. }

2.在 “管理”>"分析设置"配置回调接口。

3.调用开放平台接口获取token。

POST请求:

URI:https://oauth-login.cloud.huawei.com/oauth2/v2/token

Header:Content-Type:application/x-www-form-urlencoded

Body:

  1.        grant_type:client_credentials
  2.        client_id:100664247
  3.        client_secret:170e4ecb457bd73fa7c977de976274a7

响应:

  1. {
  2. "access_token": "CV6qeoJReXe+YfDRQomDe9VW1B6fzIH1QU260T94x4RBLUSZRjTRIcY7IngF1cPIEYaPhJCjVNOxrhvAo49Ay\/Ukkf+p",
  3. "expires_in": 3600,
  4. "token_type": "Bearer"
  5. }

4.接口触发导出数据。

POST请求:

URI:https://datacollector-drcn.dt.hicloud.com/analytics/export/raw_data_requests/v2

Header:

Authorization:Bearer CV6qeoJReXe+YfDRQomDe9VW1B6fzIH1QU260T94x4RBLUSZRjTRIcY7IngF1cPIEYaPhJCjVNOxrhvAo49Ay\/Ukkf+p(从token的响应消息中获取token_type+空格+ access_token)

x-app-id:100664247

Content-Type:application/json

x-product-id:9105163812218569643

Body:

  1. {
  2. "date_range": {
  3. "start_date": "2020-2-29",
  4. "end_date": "2020-3-10"
  5. },
  6. "file_format": "csv",
  7. "filters": [],
  8. "field_map": []
  9. }

响应:

  1. {
  2. "result_code": "0",
  3. "result_msg": "success"
  4. }

5.页面查看导出进度。

单击“我的项目”,通过“分析>管理>数据导出”页面查看。

6.导出完成后Analytics 会自动回调第2步中您配置的回调接口,可以通过file_path字段获取下载地址(6小时内可以下载)。

7.出现以下报文说明导出成功。

[{"request_id":"c0b41debe8064c54ab200d30907f40c5","app_id":"100664247","status":"EXPORTED","file_path":"https://nsp-ha-gdpr-drcn.nbs.cn-north-2.myhuaweicloud.com/20200430_14_c0b41debe8064c54ab200d30907f40c5.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=F9WBKUUWDQODJO4FQMBF%2F20200430%2Fcn-north-2%2Fs3%2Faws4_request&X-Amz-Date=20200430T073623Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=9145e80d51e21cd295861a5a0688bbcfbf8805e071cd8b98e08b5eacf2171fdb","status_time":"2020-04-3007:37:02"}]

备注:导出文件字段说明示例

字段说明导出字段案例
AAID0ba25bb8-b1aa-4320-aebd-92438979662f
安卓ID729c3f6e8030b59d
用户编号user_id_0ba25bb8-b1aa-4320-aebd-92438979662f
位置编码PK
采集服务器接收到数据的时间2020-03-24 22:15:43.309
应用编号101358513
应用包名com.huawei.analytics
应用版本2.0
ROM版本EML-AL009.0.0.187(C00E82R1P21)
EMUI版本EMOTIONUI_10.0.1
设备型号DCOR-T8
SDK版本号2.2.0.102
SDK名称hianalytics
渠道channeltest
操作系统HONGMENG
操作系统版本HONGMENG:9.0
操作系统语言ZH_CN
设备制造商HONOR
屏幕高度1920
屏幕宽度1080
事件类型oper
事件采集时间2020-03-24 22:15:39.193
事件IDHA_VEDIO_SEARC
事件会话名称3a1eba2f34aef8fff847e1eabaf22b06_1585059342757
是否为首个事件标识true
自定义事件信息(json){"HA_SEARCH_STAR":"彭于晏","HA_SEARCH_SEX":"MALE","HA_SEARCH_VIDEO_TYPE":"小说","HA_SEARCH_LOACATION":"非洲","HA_SEARCH_PRICE":"450","HA_SEARCH_KEYWORDS":"ADI"}
事件全局公共属性(用户属性json){"up2":"789","up1":"xyz","up4":"a1","up3":"*_*","up5":"@@@"}
ETL时间2020-03-27 17:45:12
天分区20200327
小时分区13
请求id分区4880c836495b42f7a414c9ca6efc3bb7

备注:Windows环境下HTTPS域名证书获取方式

1. 点击 chrome浏览器左侧小锁图标→点击“证书”。

2. 点击“详细信息”→点击“复制到文件”。

3. 点击“下一步”。

选择“Base64 编码 X.509(.CER)(S)”,选择导出位置,点击“下一步”→点击“完成”。


将导出的证书用文本编辑器打开后复制即可。