管道管理
本文提供了Java SDK管道相关功能的API调用示例,包含添加管道、更新管道、删除管道、查询管道。
前提条件
使用前请先初始化客户端,详细说明请参见初始化。
创建管道
调用AddPipeline接口,完成创建管道功能。
说明
管道类型选择说明,请参见开启管道。
如果您在添加管道时遇到 "The resource "Pipeline" quota has been used up"错误,代表您的管道配额已用完,可以通过提交工单申请管道数量的配额。
关于管道消息NotifyConfig配置,请参见NotifyConfig详情。
管道支持队列或主题模式的消息配置。详细说明,请参见设置消息通知。
/**
* 创建管道
* @param client
* @return
*/
func AddPipeline(client *mts.Client) (*mts.AddPipelineResponse, error) {
request := mts.CreateAddPipelineRequest()
request.Name = "test-pipeline"
request.Speed = "Standard"
//管道消息通知结构
// notifyConfig := map[string]string {
// "Topic": "mts-topic-1"
// }
// notifyConfigJson, _ := json.Marshal(notifyConfig)
// request.NotifyConfig = string(notifyConfigJson)
return client.AddPipeline(request)
}
更新管道配置
调用UpdatePipeline接口,完成查询媒体信息作业功能。
/**
* 更新管道配置
* @param client
* @return
*/
func UpdatePipeline(client *mts.Client) (*mts.UpdatePipelineResponse, error) {
request := mts.CreateUpdatePipelineRequest()
//管道ID, 可以在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
request.PipelineId = "606179a72c64ee2b6****"
request.Name = "update-pipeline"
//管道消息通知结构
// notifyConfig := map[string]string {
// "QueueName": "mts-queue-1"
// }
// notifyConfigJson, _ := json.Marshal(notifyConfig)
// request.NotifyConfig = string(notifyConfigJson)
return client.UpdatePipeline(request)
}
删除管道
调用DeletePipeline接口,完成查询媒体信息作业功能。
/**
* 删除管道
* @param client
* @return
*/
func DeletePipeline(client *mts.Client) (*mts.DeletePipelineResponse, error) {
request := mts.CreateDeletePipelineRequest()
//管道ID, 可以在在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
request.PipelineId = "e035491a34d82bcb32a****";
return client.DeletePipeline(request)
}
通过ID查询管道
调用QueryPipelineList接口,完成查询媒体信息作业功能。
/**
* 通过ID 查询管道
* @param client
* @return
*/
func QueryPipelineList(client *mts.Client) (*mts.QueryPipelineListResponse, error) {
request := mts.CreateQueryPipelineListRequest()
//管道ID, 可以在在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
//支持查询多个管道Id 一次最多查询10个,使用半角逗号(,)分隔
request.PipelineIds = "e035492dc45a2bcb32a****";
return client.QueryPipelineList(request)
}
通过状态查询管道
调用SearchPipeline接口,完成查询媒体信息作业功能。
/**
* 通过状态查询管道
* @param client
* @return
*/
func SearchPipeline(client *mts.Client) (*mts.SearchPipelineResponse, error) {
request := mts.CreateSearchPipelineRequest()
//管道状态 All:全部管道,Active:开启状态,Paused:暂停状态
request.State = "All";
return client.SearchPipeline(request)
}
完整代码
package main
import (
"fmt"
mts "github.com/aliyun/alibaba-cloud-sdk-go/services/mts"
)
/**
* 创建管道
* @param client
* @return
*/
func AddPipeline(client *mts.Client) (*mts.AddPipelineResponse, error) {
request := mts.CreateAddPipelineRequest()
request.Name = "test-pipeline"
request.Speed = "Standard"
//管道消息通知结构
// notifyConfig := map[string]string {
// "Topic": "mts-topic-1"
// }
// notifyConfigJson, _ := json.Marshal(notifyConfig)
// request.NotifyConfig = string(notifyConfigJson)
return client.AddPipeline(request)
}
/**
* 更新管道配置
* @param client
* @return
*/
func UpdatePipeline(client *mts.Client) (*mts.UpdatePipelineResponse, error) {
request := mts.CreateUpdatePipelineRequest()
//管道ID, 可以在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
request.PipelineId = "606179a72c64ee2b6****"
request.Name = "update-pipeline"
//管道消息通知结构
// notifyConfig := map[string]string {
// "QueueName": "mts-queue-1"
// }
// notifyConfigJson, _ := json.Marshal(notifyConfig)
// request.NotifyConfig = string(notifyConfigJson)
return client.UpdatePipeline(request)
}
/**
* 删除管道
* @param client
* @return
*/
func DeletePipeline(client *mts.Client) (*mts.DeletePipelineResponse, error) {
request := mts.CreateDeletePipelineRequest()
//管道ID, 可以在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
request.PipelineId = "e03549e23ac1d82bcb32a****";
return client.DeletePipeline(request)
}
/**
* 通过ID 查询管道
* @param client
* @return
*/
func QueryPipelineList(client *mts.Client) (*mts.QueryPipelineListResponse, error) {
request := mts.CreateQueryPipelineListRequest()
//管道ID, 可以在MPS控制台>全局设置>管道及回调查看,或通过addPipeline创建
//支持查询多个管道Id 一次最多查询10个,使用半角逗号(,)分隔
request.PipelineIds = "e0354903549e22bcb32a****";
return client.QueryPipelineList(request)
}
/**
* 通过状态查询管道
* @param client
* @return
*/
func SearchPipeline(client *mts.Client) (*mts.SearchPipelineResponse, error) {
request := mts.CreateSearchPipelineRequest()
//管道状态 All:全部管道,Active:开启状态,Paused:暂停状态
request.State = "All";
return client.SearchPipeline(request)
}
func main() {
//初始化调用 client
client, err := InitMtsClient()
if err != nil {
panic(err)
}
response, err := AddPipeline(client)
if err != nil {
panic(err)
}
fmt.Println("RequestId is:", response.RequestId)
//fmt.Println("PipelineId is:", response.Pipeline.Id)
}