1.功能介绍
如在使用点播服务前,已经在OBS桶中存储了音视频文件,可以通过OBS转存的方式将存储在OBS中的媒资转存到点播服务中,使用点播服务的音视频管理功能。存量托管任务创建后仅执行一次转存请求,会将选定的桶路径下的所有文件或指定类型文件托管至点播桶,谨慎选择桶路径,避免误操作造成不必要的费用损失;可选填转码、工作流参数,托管后的媒资会执行转码或工作流任务。
2.准备工作
1.具备开发环境,支持Go 1.16及以上版本。
2.查询region,请参考地区和终端节点。
3.需要将存储文件的OBS桶授权给点播服务,参考桶授权;且OBS桶不能跨域使用。
4.获取点播SDK,可通过华为SDK中心。
3.代码示例
1.创建存量托管任务,详细参数请参考API说明。
Copied!
package main
import (
vodRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1/region"
coreConfig "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config"
"fmt"
"os"
vod "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1"
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
vodModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1/model"
)
var obsStockTaskDemoAK = os.Getenv("HUAWEICLOUD_SDK_AK")
var obsStockTaskDemoSK = os.Getenv("HUAWEICLOUD_SDK_SK")
const obsStockTaskDemoREGION = "cn-north-4"
type ObsStockTaskDemo struct{}
func NewObsStockTaskDemoDefault() ObsStockTaskDemo {
o := ObsStockTaskDemo{}
return o
}
func ObsStockTaskDemoGetVodClient() vod.VodClient {
httpConfig := coreConfig.DefaultHttpConfig().WithIgnoreSSLVerification(true).WithTimeout(3)
auth := coreBasic.NewCredentialsBuilder().WithAk(obsStockTaskDemoAK).WithSk(obsStockTaskDemoSK).Build()
vodClient := *vod.NewVodClient(vod.VodClientBuilder().
WithCredential(auth).
WithHttpConfig(httpConfig).
WithRegion(vodRegion.ValueOf(obsStockTaskDemoREGION)).
Build())
return vodClient
}
func main() {
vodClient := ObsStockTaskDemoGetVodClient()
request := vodModel.CreateTakeOverTaskRequest{}
body := vodModel.CreateTakeOverTaskReq{}
body.Object = "{objectKey}"
createTakeOverTaskReqHostTypeParam := int32(0)
body.HostType = &createTakeOverTaskReqHostTypeParam
createTakeOverTaskReqTemplateGroupNameParam := "{templateName}"
body.TemplateGroupName = &createTakeOverTaskReqTemplateGroupNameParam
body.Bucket = "{bucketName}"
request.Body = &body
response, err := vodClient.CreateTakeOverTask(&request)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(response.String())
}
5.修订记录
发布日期 |
文档版本 |
修订说明 |
2021-12-10 |
1.0 |
文档首次发布 |
0.版本说明
本示例基于华为云SDK开发。
1.功能介绍
如在使用点播服务前,已经在OBS桶中存储了音视频文件,可以通过OBS转存的方式将存储在OBS中的媒资转存到点播服务中,使用点播服务的音视频管理功能。存量托管任务创建后仅执行一次转存请求,会将选定的桶路径下的所有文件或指定类型文件托管至点播桶,谨慎选择桶路径,避免误操作造成不必要的费用损失;可选填转码、工作流参数,托管后的媒资会执行转码或工作流任务。
2.准备工作
1.具备开发环境,支持Go 1.16及以上版本。
2.查询region,请参考地区和终端节点。
3.需要将存储文件的OBS桶授权给点播服务,参考桶授权;且OBS桶不能跨域使用。
4.获取点播SDK,可通过华为SDK中心。
3.代码示例
1.创建存量托管任务,详细参数请参考API说明。
package main import ( vodRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1/region" coreConfig "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config" "fmt" "os" vod "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1" coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" vodModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1/model" ) // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 var obsStockTaskDemoAK = os.Getenv("HUAWEICLOUD_SDK_AK") var obsStockTaskDemoSK = os.Getenv("HUAWEICLOUD_SDK_SK") const obsStockTaskDemoREGION = "cn-north-4" type ObsStockTaskDemo struct{} func NewObsStockTaskDemoDefault() ObsStockTaskDemo { o := ObsStockTaskDemo{} return o } // 根据服务实际节点填写,如cn-north-1,cn-east-2 func ObsStockTaskDemoGetVodClient() vod.VodClient { httpConfig := coreConfig.DefaultHttpConfig().WithIgnoreSSLVerification(true).WithTimeout(3) // 根据实际需要,可以设置代理 // 用户名和密码硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_PROXY_USERNAME和HUAWEICLOUD_PROXY_PASSWORD。 /*httpConfig. withProxyHost("proxy.xxxxxx.com"). withProxyPort(8080). withProxyUsername(os.Getenv("HUAWEICLOUD_PROXY_USERNAME")). withProxyPassword(os.Getenv("HUAWEICLOUD_PROXY_PASSWORD"))*/ auth := coreBasic.NewCredentialsBuilder().WithAk(obsStockTaskDemoAK).WithSk(obsStockTaskDemoSK).Build() vodClient := *vod.NewVodClient(vod.VodClientBuilder(). WithCredential(auth). WithHttpConfig(httpConfig). WithRegion(vodRegion.ValueOf(obsStockTaskDemoREGION)). Build()) return vodClient } func main() { vodClient := ObsStockTaskDemoGetVodClient() request := vodModel.CreateTakeOverTaskRequest{} body := vodModel.CreateTakeOverTaskReq{} body.Object = "{objectKey}" // 某具体文件路径或某文件夹下所有文件 // List<String> listbodySuffix = new ArrayList<>(); // listbodySuffix.add("suffix"); 文件名后缀,全桶转存时选择 // body.withSuffix(listbodySuffix); createTakeOverTaskReqHostTypeParam := int32(0) body.HostType = &createTakeOverTaskReqHostTypeParam // 0表示存在点播桶,1表示存在租户桶 // body.withWorkflowName("workflowName"); createTakeOverTaskReqTemplateGroupNameParam := "{templateName}" body.TemplateGroupName = &createTakeOverTaskReqTemplateGroupNameParam // 转码模板名称 body.Bucket = "{bucketName}" request.Body = &body response, err := vodClient.CreateTakeOverTask(&request) if err != nil { fmt.Println(err) return } fmt.Println(response.String()) }
4.参考
更多信息请参考APIExplorer。
5.修订记录