数据源配置-API上报模式

常用于业务监控的Java应用,如果应用系统已经引入了支付宝的SDK不需要额外再引入,SDK内部对支付宝的加签和Http请求做了封装,便于简化上报流程。

第一步:搭建和配置开发环境

1.下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。 各语言版本服务端SDK详细使用说明,请参考《服务端SDK使用说明

2.接口调用配置

在SDK调用前需要进行初始化,代码如下:

AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);

关键参数说明:

配置参数 示例值解释 获取方式/示例值
URL 支付宝消息网关(固定) https://openasyncapi.alipay.com/gateway.do
APPID APPID即创建应用后生成 获取见创建应用
APP_PRIVATE_KEY 开发者私钥,由开发者自己生成 获取详见配置应用环境
FORMAT 参数返回格式,只支持json json(固定)
CHARSET 编码集,支持GBK/UTF-8 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成 获取详见配置应用环境
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2

接下来,就可以用alipayClient来调用具体的API了。alipayClient只需要初始化一次,后续调用不同的API都可以使用同一个alipayClient对象。

TIPS:ISV/开发者可以通过“第三方应用授权”得到商户授权令牌(app_auth_token)作为请求参数传入,实现代商户发起请求的能力;具体方法请参考第三方应用授权

第二步:接口调用

指标数据接口

alipay.commerce.data.custommetric.sync 用于上报标准化指标数据.

SDK调用示例(以JAVA为例)

AlipayClient alipayClient = new DefaultAlipayClient("https://openasyncapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayCommerceDataCustommetricSyncRequest request = new AlipayCommerceDataCustommetricSyncRequest();
request.setBizContent("{" +
"\"namespace\":\"关键业务指标监控\"," +
"      \"metric_data\":[{" +
"        \"metric_name\":\"request_success\"," +
"          \"dimensions\":[{" +
"            \"name\":\"省\"," +
"\"value\":\"江苏\"" +
"            }]," +
"\"value\":\"100\"," +
"\"biz_time\":1548226228000" +
"        }]" +
"  }");
AlipayCommerceDataCustommetricSyncResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

关键出入参说明

请求参数特别说明

参数 参数说明
namespace 命名空间,商户与支付宝进行监控共建场景使用,命令空间需要先在云监控自定义监控页面配置录入。
metric_data 自定义监控指标数据结构,商户与支付宝进行监控共建场景使用,用户按照数据结构自主上传
metric_name 监控共建自定义指标名称
dimensions 监控共建自定义指标维度集合
name 维度类型
value 维度值
value 监控共建自定义指标值
biz_time 监控共建自定义指标数据产生的时间戳

响应JSON示例

{
"alipay_commerce_data_custommetric_sync_response":{
    "code":"10000",
    "msg":"Success"
  }
,"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}

日志数据接口

alipay.commerce.data.logdata.sync 用于上报日志数据,上报日志数据之后,需要在云监控中配置切分规则(如果用于把数据回流到蚂蚁,则不需要配置切分规则)

SDK调用示例(以JAVA为例)

AlipayClient alipayClient = new DefaultAlipayClient("https://openasyncapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayCommerceDataLogdataSyncRequest request = new AlipayCommerceDataLogdataSyncRequest();
request.setBizContent("{" +
"\"namespace\":\"应用系统监控\"," +
"\"log\":\"2019-01-29 17:23:15;java.lang.NullPointerException\"" +
"  }");
AlipayCommerceDataLogdataSyncResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

关键出入参说明

请求参数特别说明

参数 参数说明
namespace 对应云监控中的监控项名称
log 具体要上报的日志

响应JSON示例

{
"alipay_commerce_data_logdata_sync_response":{
    "code":"10000",
    "msg":"Success"
  }
,"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
onlineServer