阅读本文,您可以获取 Go SDK 离线转码的接口调用示例,实现快速开发。
调用接口前,请先完成 Go SDK 的安装及初始化操作。
本节为您介绍离线转码相关接口的功能和调用示例。
您可以调用 CreateImageTranscodeQueue 接口在指定服务下创建离线转码任务队列。详细的参数说明可参见 CreateImageTranscodeQueue 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_CreateImageTranscodeQueue(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.CreateImageTranscodeQueueBody{}
resp, err := instance.CreateImageTranscodeQueue(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 DeleteImageTranscodeQueue 接口删除指定的任务队列。详细的参数说明可参见 DeleteImageTranscodeQueue 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_DeleteImageTranscodeQueue(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.DeleteImageTranscodeQueueBody{}
resp, err := instance.DeleteImageTranscodeQueue(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 UpdateImageTranscodeQueue 接口更新指定任务队列的离线转码配置,如队列名称、队列描述和回调配置等。详细的参数说明可参见 UpdateImageTranscodeQueue 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_UpdateImageTranscodeQueue(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.UpdateImageTranscodeQueueBody{}
resp, err := instance.UpdateImageTranscodeQueue(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 UpdateImageTranscodeQueueStatus 接口更新指定任务队列的状态,如队列名称、队列描述和回调配置等。详细的参数说明可参见 UpdateImageTranscodeQueueStatus 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_UpdateImageTranscodeQueueStatus(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.UpdateImageTranscodeQueueStatusBody{}
resp, err := instance.UpdateImageTranscodeQueueStatus(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 GetImageTranscodeQueues 接口获取当前账号下已创建的任务队列详情。详细的参数说明可参见 GetImageTranscodeQueues 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_GetImageTranscodeQueues(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.GetImageTranscodeQueuesQuery{}
resp, err := instance.GetImageTranscodeQueues(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 CreateImageTranscodeTask 接口向状态为运行中的任务队列,提交以一条或多条 URL/URI 资源转码执行任务组成的转码任务。详细的参数说明可参见 CreateImageTranscodeTask 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_CreateImageTranscodeTask(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.CreateImageTranscodeTaskBody{}
resp, err := instance.CreateImageTranscodeTask(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 GetImageTranscodeDetails 接口获取指定时间段内的指定队列的转码任务详情。详细的参数说明可参见 GetImageTranscodeDetails 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_GetImageTranscodeDetails(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.GetImageTranscodeDetailsQuery{}
resp, err := instance.GetImageTranscodeDetails(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 CreateImageTranscodeCallback 接口指定任务条目 ID,手动向该任务队列配置的回调 URL 发送回调信息。详细的参数说明可参见 CreateImageTranscodeCallback 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_CreateImageTranscodeCallback(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.CreateImageTranscodeCallbackBody{}
resp, err := instance.CreateImageTranscodeCallback(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}
您可以调用 DeleteImageTranscodeDetail 接口通过指定任务条目 ID,删除提交任务内对应的该条 URL/URI。详细的参数说明可参见 DeleteImageTranscodeDetail 接口文档。
接口调用示例如下所示。
package imagex_test
import (
"context"
"encoding/json"
"fmt"
"testing"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func Test_DeleteImageTranscodeDetail(t *testing.T) {
instance := imagex.NewInstance()
instance.SetCredential(base.Credentials{
AccessKeyID: "ak",
SecretAccessKey: "sk",
})
param := &imagex.DeleteImageTranscodeDetailBody{}
resp, err := instance.DeleteImageTranscodeDetail(context.Background(), param)
if err != nil {
fmt.Printf("error %v", err)
} else {
t, _ := json.Marshal(resp)
fmt.Printf("success %v", string(t))
}
}