文档

管道管理

本文提供了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)
}
  • 本页导读 (1)
文档反馈