本文介绍视频直播服务端Go SDK的使用方法和示例代码。以添加直播域名接口为例,帮助您快速掌握视频直播接口的使用方法。
前提条件
服务端已安装GO最新版本。
操作步骤
执行如下命令安装Go SDK。
go get github.com/aliyun/alibaba-cloud-sdk-go/sdk
创建一个名为
config.ini
的配置文件放在建议目录conf中,其中包含AK/SK信息。配置文件的内容如下:access_key_id = YOUR_ACCESS_KEY_ID access_key_secret = YOUR_ACCESS_KEY_SECRET
请将
YOUR_ACCESS_KEY_ID
和YOUR_ACCESS_KEY_SECRET
替换为您的实际AK/SK值。需要在工程中配置相应的AccessKey ID 和AccessKey Secret,推荐使用启动参数和环境变量的形式。
AccessKey ID和AccessKey Secret获取方式,请参见创建AccessKey。
配置环境变量的具体操作,请参见在Linux、macOS和Windows系统配置环境变量。
初始化客户端。
package main
import (
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/live"
"github.com/go-ini/ini"
)
func main() {
cfg, err := ini.Load("conf/config.ini")
if err != nil {
fmt.Print(err.Error())
}
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从配置文件中读取AccessKey,来实现API访问的身份验证。
accessKeyID := cfg.Section("").Key("access_key_id").String()
accessKeySecret := cfg.Section("").Key("access_key_secret").String()
liveClient, err := live.NewClientWithAccessKey("cn-shanghai", accessKeyID, accessKeySecret)
if err != nil {
fmt.Print(err.Error())
}
调用接口。此处以调用添加直播域名接口为例介绍。
package main
import (
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/live"
"github.com/go-ini/ini"
)
func main() {
cfg, err := ini.Load("conf/config.ini")
if err != nil {
fmt.Print(err.Error())
}
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从配置文件中读取AccessKey,来实现API访问的身份验证。
accessKeyID := cfg.Section("").Key("access_key_id").String()
accessKeySecret := cfg.Section("").Key("access_key_secret").String()
liveClient, err := live.NewClientWithAccessKey("cn-shanghai", accessKeyID, accessKeySecret)
if err != nil {
fmt.Print(err.Error())
}
request := live.CreateAddLiveDomainRequest()
request.Scheme = "https"
request.LiveDomainType = "liveVideo"
request.Region = "XXX"
request.DomainName = "XXX "
response, err := liveClient.AddLiveDomain(request)
if err != nil {
fmt.Print(err.Error())
}
fmt.Printf("response is %#v\n", response)
}
更多API示例,请参见API概览。