Java-SDK
更新时间:2024-03-13
一、概述
百度智能云海外 CDN 推荐您使用 SDK 的方式是:基于 SDK 的通用鉴权和请求方法来自助封装接口。
-
这种方式和官方提供的海外 CDN API 文档是完全一致的,使用时直接参考海外 CDN API 文档即可。
- 只要掌握了通用鉴权和请求方法,您就可以根据现有的 SDK 鉴权请求方法 和海外 CDN API 接口文档,自助完成所有 API 接口的功能集成。这样,您就可以高效及时地打通全部海外 CDN API 接口功能。
- 该使用方式可用于所有产品,除了海外 CDN,您在集成其他产品的 API 接口时,也可以采用此方式。
二、推荐使用方式的示例说明
1、安装 SDK 工具包
详见:安装 SDK 工具包
2、典型示例
以接口 流量查询接口 为例
- 1)请求的示例代码
package baidu.com;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import org.apache.commons.lang3.StringUtils;
import com.baidubce.http.ApiExplorerClient;
import com.baidubce.model.ApiExplorerRequest;
import com.baidubce.http.HttpMethodName;
import com.baidubce.model.ApiExplorerResponse;
import com.baidubce.util.JsonUtils;
/**
* 需要添加依赖
* <dependency>
* <groupId>com.baidubce</groupId>
* <artifactId>api-explorer-sdk</artifactId>
* <version>1.0.3.1</version>
* </dependency>
*/
public class Sample {
public static void main(String[] args){
// Access Key
String ak = "your Access Key";
// Secret Key
String sk = "your Secret Key";
String path = "https://cdn.baidubce.com/v2/abroad/stat/flow";
String headerJson = "{\"Content-Type\":\"application/json\",\"Accept\":\"application/json\"}";
String queryJson = "{\"domain\":\"xxx.com\",\"startTime\":\"2019-04-08T09:40:00Z\",\"endTime\":\"2019-04-08T10:00:00Z\",\"period\":300}";
String jsonBody = "";
ApiExplorerRequest request = new ApiExplorerRequest(HttpMethodName.GET, path);
// 设置鉴权信息
request.setCredentials(ak, sk);
// 设置header参数
HashMap<String, String> headerJsonMap = JsonUtils.fromJsonString(headerJson, HashMap.class);
Iterator<Entry<String, String>> headerIterator = headerJsonMap.entrySet().iterator();
while (headerIterator.hasNext()) {
Entry<String, String> next = headerIterator.next();
request.addHeaderParameter(next.getKey(), next.getValue());
}
// 设置query参数
if(StringUtils.isNotEmpty(queryJson)){
HashMap<String, String> QueryJsonMap = JsonUtils.fromJsonString(queryJson, HashMap.class);
Iterator<Entry<String, String>> queryIterator = QueryJsonMap.entrySet().iterator();
while (queryIterator.hasNext()) {
Entry<String, String> next = queryIterator.next();
request.addQueryParameter(next.getKey(), next.getValue());
}
}
// 设置jsonBody参数
if (StringUtils.isNotEmpty(jsonBody)) {
request.setJsonBody(jsonBody);
}
ApiExplorerClient client = new ApiExplorerClient();
try {
ApiExplorerResponse response = client.sendRequest(request);
// 返回结果格式为Json字符串
System.out.println(response.getResult());
} catch (Exception e) {
e.printStackTrace();
}
}
}
其中,path、params、headers、请求方法 "GET" 都可以从上面的接口文档 流量查询接口 中找到对应的说明;your Access Key 和 your Secret Key 是您有调用权限的主用户或子用户所分配到的的 AK、SK,可参考 如何获取 AK/SK。
- 2)请求的响应内容示例
从响应内容中可提取所查询的统计数据信息,如下:
{
"status": "ok",
"details": [
{
"timestamp": "2019-04-08T09:40:00Z",
"flow": 809,
"bps": 21
},
{
"timestamp": "2019-04-08T09:45:00Z",
"flow": 4738,
"bps": 126
},
{
"timestamp": "2019-04-08T09:50:00Z"
},
{
"timestamp": "2019-04-08T09:55:00Z"
}
]
}
3、在线调试(示例代码中心)
百度智能云也提供了在线调试的入口(目前暂未支持海外 CDN,您可以先用 CDN 的入口来熟悉接口集成的逻辑,便于您参考着来集成海外 CDN 的 API 接口)
- CDN 的入口见:示例代码中心 - 内容分发网络 CDN,在获取 AK、SK 后,您可以在此入口进行在线测试,快捷地验证 CDN 接口功能。