新建元数据迁移任务
功能介绍
新建元数据迁移任务。
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 | 创建成功 |
错误码
请参见错误码。