You need to enable JavaScript to run this app.
导航

点播 CDN

最近更新时间2024.01.19 17:43:38

首次发布时间2022.03.31 15:59:02

本文为您提供了服务端 Go SDK 的点播 CDN 模块相关的 API 调用示例。主要包含:创建域名、启用域名、停用域名、删除域名、获取空间域名列表、将域名添加至点播调度、将域名移除点播调度、修改 URL 域名鉴权配置、刷新缓存、预热缓存、获取刷新预热任务列表和获取日志下载地址等。

初始化

使用前请先完成初始化,参考初始化

创建域名

接口请求参数和返回参数详见 OpenAPI:创建域名

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_CreateDomain(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodCreateDomainV2Request{
                SpaceName:                "your SpaceName",
                DomainType:               "your DomainType",
                Domain:                   "your Domain",
                SourceStationType:        0,
                SourceStationAddressType: 0,
                Origins:                  "your Origins",
                Area:                     "your Area",
                BucketName:               "your BucketName",
        }

        resp, status, err := instance.CreateDomain(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

启用域名

接口请求参数和返回参数详见 OpenAPI:启用域名

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_StartDomain(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodStartDomainRequest{
                SpaceName:         "your SpaceName",
                DomainType:        "your DomainType",
                Domain:            "your Domain",
                SourceStationType: 0,
        }

        resp, status, err := instance.StartDomain(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

停用域名

接口请求参数和返回参数详见 OpenAPI:停用域名

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_StopDomain(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodStopDomainRequest{
                SpaceName:         "your SpaceName",
                DomainType:        "your DomainType",
                Domain:            "your Domain",
                SourceStationType: 0,
        }

        resp, status, err := instance.StopDomain(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

删除域名

接口请求参数和返回参数详见 OpenAPI:删除域名

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_DeleteDomain(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodDeleteDomainRequest{
                SpaceName:  "your SpaceName",
                DomainType: "your DomainType",
                Domain:     "your Domain",
        }

        resp, status, err := instance.DeleteDomain(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

获取空间域名列表

接口请求参数和返回参数详见 OpenAPI:获取空间域名列表

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_ListDomain(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodListDomainRequest{
                SpaceName:         "your SpaceName",
                DomainType:        "your DomainType",
                SourceStationType: 0,
                Offset:            0,
                Limit:             0,
        }

        resp, status, err := instance.ListDomain(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

将域名添加至点播调度

接口请求参数和返回参数详见 OpenAPI:将域名添加至点播调度

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_AddDomainToScheduler(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodAddDomainToSchedulerRequest{
                SpaceName:         "your SpaceName",
                DomainType:        "your DomainType",
                Domain:            "your Domain",
                SourceStationType: 0,
        }

        resp, status, err := instance.AddDomainToScheduler(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

将域名移除点播调度

接口请求参数和返回参数详见 OpenAPI:将域名移除点播调度

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_RemoveDomainFromScheduler(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodRemoveDomainFromSchedulerRequest{
                SpaceName:         "your SpaceName",
                DomainType:        "your DomainType",
                Domain:            "your Domain",
                SourceStationType: 0,
        }

        resp, status, err := instance.RemoveDomainFromScheduler(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

设置域名分发规则

接口请求参数和返回参数详见 OpenAPI:设置域名分发规则

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_UpdateDomainPlayRule(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodUpdateDomainPlayRuleRequest{
                SpaceName:     "your SpaceName",
                DefaultDomain: "your DefaultDomain",
                PlayRule:      "your PlayRule",
        }

        resp, status, err := instance.UpdateDomainPlayRule(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

修改域名时间戳防盗链

接口请求参数和返回参数详见 OpenAPI:修改域名时间戳防盗链

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_UpdateDomainExpire(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodUpdateDomainExpireV2Request{
                SpaceName:  "your SpaceName",
                DomainType: "your DomainType",
                Domain:     "your Domain",
                Expire:     0,
        }

        resp, status, err := instance.UpdateDomainExpire(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

修改域名 URL 鉴权配置

接口请求参数和返回参数详见 OpenAPI:修改域名 URL 鉴权配置

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_UpdateDomainUrlAuthConfig(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodUpdateDomainUrlAuthConfigV2Request{
                SpaceName:  "your SpaceName",
                DomainType: "your DomainType",
                Domain:     "your Domain",
                MainKey:    "your MainKey",
                BackupKey:  "your BackupKey",
                Status:     "your Status",
        }

        resp, status, err := instance.UpdateDomainUrlAuthConfig(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

刷新缓存

接口请求参数和返回参数详见 OpenAPI:刷新缓存

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_CreateCdnRefreshTask(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodCreateCdnRefreshTaskRequest{
                SpaceName: "your SpaceName",
                Urls:      "your Urls",
                Type:      "your Type",
        }

        resp, status, err := instance.CreateCdnRefreshTask(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

预热缓存

接口请求参数和返回参数详见 OpenAPI:预热缓存

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_CreateCdnPreloadTask(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodCreateCdnPreloadTaskRequest{
                SpaceName: "your SpaceName",
                Urls:      "your Urls",
        }

        resp, status, err := instance.CreateCdnPreloadTask(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

获取刷新预热任务列表

接口请求参数和返回参数详见 OpenAPI:获取刷新预热任务列表

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_ListCdnTasks(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodListCdnTasksRequest{
                SpaceName:      "your SpaceName",
                TaskId:         "your TaskId",
                DomainName:     "your DomainName",
                TaskType:       "your TaskType",
                Status:         "your Status",
                StartTimestamp: 0,
                EndTimestamp:   0,
                PageNum:        0,
                PageSize:       0,
        }

        resp, status, err := instance.ListCdnTasks(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}

获取日志文件下载地址

接口请求参数和返回参数详见 OpenAPI:获取日志文件下载地址

import (
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        "github.com/volcengine/volc-sdk-golang/service/vod"
        "github.com/volcengine/volc-sdk-golang/service/vod/models/request"
)

func Test_ListCdnAccessLog(t *testing.T) {
        instance := vod.NewInstance()
        instance.SetCredential(base.Credentials{
                AccessKeyID:     "your ak",
                SecretAccessKey: "your sk",
        })

        query := &request.VodListCdnAccessLogRequest{
                Domains:        "your Domains",
                StartTimestamp: 0,
                EndTimestamp:   0,
                SpaceName:      "your SpaceName",
        }

        resp, status, err := instance.ListCdnAccessLog(query)
        fmt.Println(status)
        fmt.Println(err)
        fmt.Println(resp.String())
}