推荐的使用方式
更新时间:2023-12-18
一、概述
百度智能云 CDN 提供的 SDK 有两种使用方式:
- 一种是常规的官方定期更新 SDK 新接口功能,通过 SDK 调用接口功能的方式和官方提供的 CDN API 文档是相互独立的,您在使用 SDK 的时候,只能查阅参考 SDK 文档说明,无法直接参考 CDN API 文档。
-
另一种是基于 SDK 的通用鉴权和请求方法来自助封装接口,这种方式和官方提供的 CDN API 文档是完全一致的,使用时直接参考 CDN API 文档即可。
- 只要掌握了通用鉴权和请求方法,您就不再需要依赖官方 SDK 的定期更新,而是可以根据现有的 SDK 鉴权请求方法 和 CDN API 接口文档,自助完成所有 API 接口的功能集成。这样,您就可以高效及时地打通全部 CDN API 接口功能。这也是我们推荐的使用方式。
- 该使用方式可用于所有产品,除了 CDN,您在集成其他产品的 API 接口时,也可以采用此方式。
二、推荐使用方式的示例说明
1、安装 SDK 工具包
详见:安装 SDK 工具包
2、典型示例
以接口 查询用户名下所有域名 为例
- 1)请求的示例代码
package main
import (
"fmt"
"github.com/baidubce/bce-sdk-go/bce"
)
const AK = "your Access Key"
const SK = "your Secret Key"
const ENDPOINT = "https://cdn.baidubce.com"
func main() {
method := "GET"
path := "/v2/user/domains"
headers := map[string]string{"Content-Type":"application/json","Accept":"application/json"}
params := map[string]string{"status":"ALL","rule":"666.baidu.com"}
payload, _ := bce.NewBodyFromString("")
req := &bce.BceRequest{}
req.SetUri(path)
req.SetMethod(method)
req.SetParams(params)
req.SetHeaders(headers)
req.SetBody(payload)
client, err := bce.NewBceClientWithAkSk(AK, SK, ENDPOINT)
if err != nil {
// client 初始化失败终止启动
panic(err)
}
resp := &bce.BceResponse{}
if err := client.SendRequest(req, resp); err != nil {
fmt.Println("err: ", err)
} else {
fmt.Println("http code: ", resp.StatusCode())
respBody := make(map[string]any)
if err := resp.ParseJsonBody(&respBody); err == nil {
fmt.Println("resp:", respBody)
} else {
fmt.Println("data is null: ", err)
}
}
}
其中,path、params、headers、请求方法 "GET" 都可以从上面的接口文档 查询用户名下所有域名 中找到对应的说明;your Access Key 和 your Secret Key 是您有调用权限的主用户或子用户所分配到的的 AK、SK,可参考 如何获取 AK/SK。
- 2)请求的响应内容示例
从响应内容中可提取所查询的 domains 信息,如下:
{
"domains": [
{
"domain": "api--2create-666.baidu.com",
"status": "RUNNING"
},
{
"domain": "api--create-666.baidu.com",
"status": "STOPPED"
},
{
"domain": "api-create-666.baidu.com",
"status": "STOPPED"
},
{
"domain": "console-create-666.baidu.com",
"status": "RUNNING"
}
]
}
3、在线调试(示例代码中心)
百度智能云也提供了在线调试的入口:示例代码中心 - 内容分发网络 CDN,在获取 AK、SK 后,您可以在此入口进行在线测试,快捷地验证接口功能。