全部产品

内容库管理

本文介绍如何通过ICE Go SDK进行内容库管理。

注册媒资内容

目前仅支持通过oss文件注册媒资内容。

内容管理

通过SDK对内容进行增删改查操作。

通过 GetMediaInfo 接口获取内容基础信息、文件分析结果、AI分析结果。

通过 ListMediaBasicInfos 接口获取多个内容,支持分页。

代码示例

package main

import (
 "fmt"

 client2 "github.com/alibabacloud-go/darabonba-openapi/client"
 ice "github.com/alibabacloud-go/ice-20201109/client"
)

func main() {
 // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号
 iceClient, err := InitICEClient("<yourAccessKeyId>", "<yourAccessKeySecret>")

 // 注册媒资
 inputUrl := "OSS://***"
 mediaType := "video"

 mediaInfo := ice.RegisterMediaInfoRequest{
  InputURL: &inputUrl,
  MediaType: &mediaType,
 }

 result, err := iceClient.RegisterMediaInfo(&mediaInfo)
 fmt.Println(result, err)

 // 获取单个媒资内容
  mediaId := "****94bef6e348c8b6ed59c88cda****"
 getMediaInfoRequest := ice.GetMediaInfoRequest{
  MediaId: &mediaId,
 }
 getMediaInfoResult, err := iceClient.GetMediaInfo(&getMediaInfoRequest)
 fmt.Println(getMediaInfoResult, err)

 // 修改内容
 coverUrl := "https://****/test.jpg"
 updateMediainfoRequest := ice.UpdateMediaInfoRequest{
  MediaId: &mediaId,
  CoverURL: &coverUrl,
 }
 updateMediaInfoResult, err := iceClient.UpdateMediaInfo(&updateMediainfoRequest)
 fmt.Println(updateMediaInfoResult, err)

 // 检索媒资内容
 maxResults := 10
 listMediaBasicInfosRequest := ice.ListMediaBasicInfosRequest{
  MaxResults: &maxResults,
 }
 listMediaBasicInfosResult, err := iceClient.ListMediaBasicInfos(&listMediaBasicInfosRequest)
 fmt.Println(listMediaBasicInfosResult, err)
}

func InitICEClient(accessKeyId string, accessKeySecret string) (client *ice.Client, err error) {

 // ICE接入区域
 regionId := "cn-shanghai"

 // ICE EndPoint
 endPoint := "ice.cn-shanghai.aliyuncs.com"

 config := new(client2.Config)
 config.SetAccessKeyId(accessKeyId).
  SetAccessKeySecret(accessKeySecret).
  SetRegionId(regionId).
  SetEndpoint(endPoint)


 // 创建ICEClient实例
 return ice.NewClient(config)
}