内容分发网络CDN

    域名操作接口

    域名列表查询 ListDomains

    查询该用户账户下拥有的加速域名

    marker := ""                                           
    cli := GetDefaultClient()                          
    domains, nextMarker, err := cli.ListDomains(marker)    
    fmt.Printf("domains:%+v\n", domains)                   
    fmt.Printf("nextMarker:%+v\n", nextMarker)             
    fmt.Printf("err:%+v\n", err)                           

    marker参数表示从这个字符串所代表的索引开始查询域名列表,空表示从头开始。目前服务器处理分页size是一个很大的数,所以使用的时候将marker赋值为空即可。ListDomains返回的nextMarker表示下一个域名列表索引 ,空表示从marker开始之后的域名列表全部被获取,非空可用于传递到ListDomains参数。domains是一个string slice,表示域名列表数据,如: ["1.baidu.com", "2.baidu.com"]

    查询用户名下所有域名 GetDomainStatus

    查询用户名下所有域名和域名状态,可以根据特定状态查询属于这个状态的域名。

    cli := client.GetDefaultClient()   
    status := "ALL"
    domainStatus, err := cli.GetDomainStatus(status, "")     
    fmt.Printf("domainStatus:%+v\n", domainStatus)          
    fmt.Printf("err:%+v\n", err)                            

    status表示域名的状态,如果为ALL,表示查询所有状态的域名,如果为RUNNING查询已经加速的域名,STOPPED查询停止加速的域名,OPERATING查询操作中的域名。 domainStatusDomainStatus类型对象,如下所示:

    字段 类型 说明
    Domain string 域名,如www.baidu.com
    Status string 域名状态,合法值为RUNNINGSTOPPEDOPERATING

    domainStatus的示例数据如:[{"Domain":"1.baidu.com", "Status":"RUNNING"}, {"Domain":"2.baidu.com", "Status":"STOPPED"}]

    查询域名是否可添加 IsValidDomain

    查询特定域名是否可以使用CDN加速,一个可以被添加的域名必须是合法的域名,不可重复添加,必须通过ICP备案。

    cli := client.GetDefaultClient()           
    testDomain := "test_go_sdk.baidu.com"
    domainValidInfo, err := cli.IsValidDomain(testDomain)  
    fmt.Printf("domainValidInfo:%+v\n", domainValidInfo)                
    fmt.Printf("err:%+v\n", err)                                        

    testDomain是要测试的域名,domainValidInfoDomainValidInfo类型对象,表示的是关于是否可添加的详细信息

    字段 类型 说明
    Domain string 域名,如www.baidu.com
    IsValid bool true表示该域名可添加,false表示该域名不可被添加
    Message string 当IsValid为false,表示域名不可被添加的原因;当IsValid为true时,为空

    创建加速域名接口 CreateDomain

    添加一个加速域名到用户名下,该域名在调用IsValidDomain的时候返回必须为true。创建加速域名必须设置源站。

    cli := client.GetDefaultClient()
    domainCreatedInfo, err := cli.CreateDomain("test_go_sdk.baidu.com", &api.OriginInit{
    	Origin: []api.OriginPeer{
    		{
    			Peer:      "1.1.1.1",
    			Host:      "www.baidu.com",
    			Backup:    true,
    			Follow302: true,
    		},
    		{
    			Peer:      "http://2.2.2.2",
    			Host:      "www.baidu.com",
    			Backup:    false,
    			Follow302: true,
    		},
    	},
    	DefaultHost: "www.baidu.com",
    	Form:        "default",
    })
    fmt.Printf("domainCreatedInfo:%+v\n", domainCreatedInfo)
    fmt.Printf("err:%+v\n", err)

    api.OriginPeer表示一个源站,api.OriginInit表示对于这个加速域名的源站配置,包括一个或多个源站,和一个默认的会员host,表示为DefaultHostForm表示加速服务类型,默认为default,其他可选的服务类型有image表示图片小文件,download表示大文件下载,media表示流媒体点播,dynamic表示动静态加速。 源站信息api.OriginPeer的结构如下:

    字段 类型 说明
    Peer string 源站的endpoint,如http://2.2.2.2:9090https://test.baidu.com:9090,源站类型可以为域名形式、IP形式和bucket,示例代码展示的是IP形式的源站类型,需要注意的是一个域名所有的源站必须具有相同的源站类型。如果使用的是默认端口,即HTTP的80和HTTPS的443,CDN系统会将源站视为HTTP和HTTPS两种协议都支持
    Host string 表示回源时在HTTP请求头中携带的Host,如果没有设置则使用DefaultHost
    Backup bool 表示是否为备用源站,备用源站在主源站都不可用的情况下才会使用,false表示这个源站是主源站。需要注意的是在golang中bool对象默认值为false,如果没有显式设置Backup的值,那么默认就是false。
    Follow302 bool true表示当回源到源站时源站返回302时,CDN系统会处理Location重定向,主动获取资源返回给客户端。false表示当源站返回302时,CDN系统透传302给客户端。需要注意的是,目前Follow302已经修改为所有源站级别的配置,所以要求所有的源站Follow302必须一致,否则可能会出现不可预料的结果

    启用/停止/删除加速域名 EnableDomain/DisableDomain/DeleteDomain

    cli := client.GetDefaultClient()      
    testDomain := "test_go_sdk.baidu.com" 
                                          
    // 启用加速域名                             
    err := cli.EnableDomain(testDomain)   
    fmt.Printf("err:%+v\n", err)          
                                          
    // 停用加速域名                             
    err = cli.DisableDomain(testDomain)   
    fmt.Printf("err:%+v\n", err)  
    
    // 删除该用户名下的加速域名
    err = cli.DeleteDomain(testDomain)
    fmt.Printf("err:%+v\n", err)
    上一篇
    CdnClient
    下一篇
    域名配置接口