本文提供了媒体处理Go SDK媒体信息相关功能的API调用示例,包含提交媒体信息作业、查询媒体信息作业。
前提条件
使用前请先初始化客户端,详细说明请参见初始化。
提交媒体信息作业
调用SubmitMediaInfoJob接口,完成提交媒体信息作业功能。
说明
通过SDK提交作业时Object需经URLEncode,否则会导致作业失败。更多信息,请参见URL Encoding说明。
请按照规范填写文件名称,否则会找不到文件导致作业失败。详细名称规范,请参见参数详情。
建议您在提交媒体信息作业时记录任务的JobID,便于后续进行相关操作。
/**
* 提交媒体信息作业
* @param client
* @return
*/
func SubmitMediaInfoJob(client *mts.Client) (*mts.SubmitMediaInfoJobResponse, error) {
request := mts.CreateSubmitMediaInfoJobRequest()
input := map[string]string{
"Bucket": "<your bucket name>",
"Location": "oss-cn-beijing",
"Object": url.QueryEscape("mps-test/demo/test.mp4"),
}
inputJson, _ := json.Marshal(input)
request.Input = string(inputJson)
request.PipelineId = ""
//true 异步作业(推荐) false 同步作业
request.Async = requests.NewBoolean(true)
return client.SubmitMediaInfoJob(request)
}
查询媒体信息作业
调用QueryMediaInfoJobList接口,完成查询媒体信息作业功能。
/**
* 查询媒体信息作业
* @param client
* @return
*/
func QueryMediaInfoJobList(client *mts.Client) (*mts.QueryMediaInfoJobListResponst, error) {
request := mts.CreateQueryMediaInfoJobListRequest()
//支持查询多个jobID 一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
request.MediaInfoJobIds = "1267632d444e14796fad9****"
return client.QueryMediaInfoJobList(request)
}
完整代码
package main
import (
"encoding/json"
"fmt"
"net/url"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
mts "github.com/aliyun/alibaba-cloud-sdk-go/services/mts"
)
/**
* 提交媒体信息作业
* @param client
* @return
*/
func SubmitMediaInfoJob(client *mts.Client) (*mts.SubmitMediaInfoJobResponse, error) {
request := mts.CreateSubmitMediaInfoJobRequest()
input := map[string]string{
"Bucket": "<your bucket name>",
"Location": "oss-cn-beijing",
"Object": url.QueryEscape("mps-test/demo/test.mp4"),
}
inputJson, _ := json.Marshal(input)
request.Input = string(inputJson)
request.PipelineId = pipelineId
//true 异步作业(推荐) false 同步作业
request.Async = requests.NewBoolean(true)
return client.SubmitMediaInfoJob(request)
}
/**
* 查询媒体信息作业
* @param client
* @return
*/
func QueryMediaInfoJobList(client *mts.Client) (*mts.QueryMediaInfoJobListResponse, error) {
request := mts.CreateQueryMediaInfoJobListRequest()
//支持查询多个jobID 一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
request.MediaInfoJobIds = "1267632d444e14796fad9****"
return client.QueryMediaInfoJobList(request)
}
const (
pipelineId = "bee7a5bf9d796fafe40a0cbf****"
)
func main() {
client, err := InitMtsClient()
if err != nil {
panic(err)
}
response, err := SubmitMediaInfoJob(client)
if err != nil {
panic(err)
}
fmt.Println("RequestId is:", response.RequestId)
fmt.Println("JobId is:", response.MediaInfoJob.JobId)
// response2, err := QueryMediaInfoJobList(client)
// if err != nil {
// panic(err)
// }
// fmt.Println("RequestId is:", response2.RequestId)
// jsonData, err := json.Marshal(response2.MediaInfoJobList)
// fmt.Println("MediaInfoJobList is:", jsonData)
}
文档内容是否对您有帮助?