新建元数据迁移任务
功能介绍
新建元数据迁移任务。
URI
POST /v2/{project_id}/instances/{instance_id}/metadata
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
overwrite |
是 |
String |
true开启同名覆盖,会对已有的同名元数据的配置进行修改,false时当topic或group已存在则会报错。 |
name |
是 |
String |
迁移任务名称,名称规则参考创建实例 |
type |
是 |
String |
迁移任务类型,分为自建RocketMQ上云(rocketmq)、自建RabbitMQ上云(rabbitToRocket) |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
topicConfigTable |
否 |
Map<String,MigrationRocketMqTopicConfig> |
RocketMQ topic 元数据,键为topic名,值为topic配置,迁移任务类型为自建RocketMQ上云(rocketmq)时必填。 |
subscriptionGroupTable |
否 |
Map<String,MigrationRocketMqSubscriptionGroup> |
RocketMQ消费组元数据,键为消费组名,值为消费组配置,迁移任务类型为自建RocketMQ上云(rocketmq)时必填。 |
vhosts |
否 |
Array of MigrationRabbitVhostMetadata objects |
RabbitMQ vhost元数据列表,迁移任务类型为自建RabbitMQ上云(rabbitToRocket)时必填。 |
queues |
否 |
Array of MigrationRabbitQueueMetadata objects |
RabbitMQ队列元数据列表,迁移任务类型为自建RabbitMQ上云(rabbitToRocket)时必填。 |
exchanges |
否 |
Array of MigrationRabbitExchangeMetadata objects |
RabbitMQ交换机元数据列表,迁移任务类型为自建RabbitMQ上云(rabbitToRocket)时必填。 |
bindings |
否 |
Array of MigrationRabbitBindingMetadata objects |
RabbitMQ binding元数据列表,迁移任务类型为自建RabbitMQ上云(rabbitToRocket)时必填。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
topicName |
否 |
String |
topic名称。 |
order |
否 |
Boolean |
是否有序消息。 缺省值:false |
perm |
否 |
Integer |
topic权限。 缺省值:6 |
readQueueNums |
否 |
Integer |
读队列个数。 缺省值:16 |
writeQueueNums |
否 |
Integer |
写队列个数。 缺省值:16 |
topicFilterType |
否 |
String |
topic过滤类型。
缺省值:SINGLE_TAG |
topicSysFlag |
否 |
Integer |
topic系统标志位。 缺省值:0 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
groupName |
否 |
String |
消费组名。 |
consumeBroadcastEnable |
否 |
Boolean |
是否允许以广播模式消费。 缺省值:true |
consumeEnable |
否 |
Boolean |
是否允许消费。 缺省值:true |
consumeFromMinEnable |
否 |
Boolean |
是否从最小偏移量开始消费。 缺省值:true |
notifyConsumerIdsChangedEnable |
否 |
Boolean |
消费者ID变化时是否通知。 缺省值:true |
retryMaxTimes |
否 |
Integer |
消费最大重试次数。 缺省值:16 |
retryQueueNums |
否 |
Integer |
重试队列个数。 缺省值:1 |
whichBrokerWhenConsumeSlow |
否 |
Long |
慢消费时选择的broker节点ID。 缺省值:1 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
vhost |
否 |
String |
vhost名称。 |
name |
否 |
String |
队列名称。 |
durable |
否 |
Boolean |
是否持久化。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
String |
任务ID |
请求示例
-
创建元数据迁移任务,迁移其他厂商或自建RocketMQ实例的元数据到云上RocketMQ实例。
POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/metadata?overwrite=true&name=task-123&type=rocketmq { "topicConfigTable" : { "topic-test1" : { "order" : false, "perm" : 6, "readQueueNums" : 3, "topicFilterType" : "SINGLE_TAG", "topicName" : "topic-test1", "topicSysFlag" : 0, "writeQueueNums" : 3 } }, "subscriptionGroupTable" : { "group-test1" : { "consumeBroadcastEnable" : true, "consumeEnable" : true, "consumeFromMinEnable" : true, "groupName" : "group-test1", "notifyConsumerIdsChangedEnable" : true, "retryMaxTimes" : 2, "retryQueueNums" : 1, "whichBrokerWhenConsumeSlow" : 1 } } }
-
创建元数据迁移任务,迁移RabbitMQ的元数据到云上RocketMQ实例。
POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/metadata?overwrite=true&name=task-123&type=rabbitToRocket { "vhosts" : [ { "name" : "DeleteVhost123" } ], "queues" : [ { "name" : "test-001", "vhost" : "/", "durable" : false } ], "exchanges" : [ { "name" : "direct", "vhost" : "/", "type" : "topic", "durable" : false } ], "bindings" : [ { "source" : "direct", "vhost" : "/", "destination" : "test-001", "destination_type" : "queue", "routing_key" : "test-001" } ] }
响应示例
状态码: 200
创建成功
{ "task_id" : "6cf4dcd3-8471-4139-8b5b-8a3a71f704c7" }
状态码
状态码 |
描述 |
---|---|
200 |
创建成功 |
错误码
请参见错误码。