Go-SDK
更新时间:2024-03-13
一、概述
百度智能云海外 CDN 推荐您使用 SDK 的方式是:基于 SDK 的通用鉴权和请求方法来自助封装接口。
- 
这种方式和官方提供的海外 CDN API 文档是完全一致的,使用时直接参考海外 CDN API 文档即可。 - 只要掌握了通用鉴权和请求方法,您就可以根据现有的 SDK 鉴权请求方法 和海外 CDN API 接口文档,自助完成所有 API 接口的功能集成。这样,您就可以高效及时地打通全部海外 CDN API 接口功能。
- 该使用方式可用于所有产品,除了海外 CDN,您在集成其他产品的 API 接口时,也可以采用此方式。
 
二、推荐使用方式的示例说明
1、安装 SDK 工具包
详见:安装 SDK 工具包
2、典型示例
以接口 流量查询接口 为例
- 1)请求的示例代码
                Plain Text
                
            
            1package main
2
3import (
4    "fmt"
5
6    "github.com/baidubce/bce-sdk-go/bce"
7)
8
9const AK = "your Access Key"
10const SK = "your Secret Key"
11const ENDPOINT = "https://cdn.baidubce.com"
12
13func main() {
14    method := "GET"
15    path := "/v2/abroad/stat/flow"
16
17    headers := map[string]string{"Content-Type":"application/json","Accept":"application/json"}
18    params := map[string]string{"domain":"xxx.com","startTime":"2019-04-08T09:40:00Z","endTime":"2019-04-08T10:00:00Z","period":300}
19    payload, _ := bce.NewBodyFromString("")
20
21    req := &bce.BceRequest{}
22    req.SetUri(path)
23    req.SetMethod(method)
24    req.SetParams(params)
25    req.SetHeaders(headers)
26    req.SetBody(payload)
27
28    client, err := bce.NewBceClientWithAkSk(AK, SK, ENDPOINT)
29    if err != nil {
30        // client 初始化失败终止启动
31        panic(err)
32    }
33    resp := &bce.BceResponse{}
34    if err := client.SendRequest(req, resp); err != nil {
35        fmt.Println("err: ", err)
36    } else {
37        fmt.Println("http code: ", resp.StatusCode())
38        respBody := make(map[string]any)
39        if err := resp.ParseJsonBody(&respBody); err == nil {
40            fmt.Println("resp:", respBody)
41        } else {
42            fmt.Println("data is null: ", err)
43        }
44    }
45}其中,path、params、headers、请求方法 "GET" 都可以从上面的接口文档 流量查询接口 中找到对应的说明;your Access Key 和 your Secret Key 是您有调用权限的主用户或子用户所分配到的的 AK、SK,可参考 如何获取 AK/SK。
- 2)请求的响应内容示例
从响应内容中可提取所查询的统计数据信息,如下:
                Plain Text
                
            
            1{
2    "status": "ok",
3    "details": [
4        {
5            "timestamp": "2019-04-08T09:40:00Z",
6            "flow": 809,
7            "bps": 21
8        },
9        {
10            "timestamp": "2019-04-08T09:45:00Z",
11            "flow": 4738,
12            "bps": 126
13        },
14        {
15            "timestamp": "2019-04-08T09:50:00Z"
16        },
17        {
18            "timestamp": "2019-04-08T09:55:00Z"
19        }
20    ]
21}  3、在线调试(示例代码中心)
百度智能云也提供了在线调试的入口(目前暂未支持海外 CDN,您可以先用 CDN 的入口来熟悉接口集成的逻辑,便于您参考着来集成海外 CDN 的 API 接口)
- CDN 的入口见:示例代码中心 - 内容分发网络 CDN,在获取 AK、SK 后,您可以在此入口进行在线测试,快捷地验证 CDN 接口功能。
