Creating a Metadata Migration Task
Function
This API is used to create a metadata migration task.
URI
POST /v2/{project_id}/instances/{instance_id}/metadata
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Instance ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
overwrite |
Yes |
String |
true: Configurations in the metadata file with the same name as the uploaded file will be overwritten. false: An error is reported when a topic or group already exists. |
name |
Yes |
String |
Migration task name. For details about the naming rules, see the API for creating an instance. |
type |
Yes |
String |
Migration task type. The value can be rocketmq or rabbitToRocket. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
topicConfigTable |
No |
Map<String,MigrationRocketMqTopicConfig> |
RocketMQ instance topic metadata. The topic name is the key and the topic configuration is the value. This parameter is mandatory for rocketmq migration tasks (from self-built RocketMQ instances to DMS for RocketMQ). |
subscriptionGroupTable |
No |
Map<String,MigrationRocketMqSubscriptionGroup> |
RocketMQ consumer group metadata. The consumer group name is the key and the configuration is the value. This parameter is mandatory for rocketmq migration tasks (from self-built RocketMQ instances to DMS for RocketMQ). |
vhosts |
No |
Array of MigrationRabbitVhostMetadata objects |
RabbitMQ virtual host metadata list. This parameter is mandatory for rabbitToRocket migration tasks (from self-built RabbitMQ instances to DMS for RocketMQ). |
queues |
No |
Array of MigrationRabbitQueueMetadata objects |
RabbitMQ queue metadata list. This parameter is mandatory for rabbitToRocket migration tasks (from self-built RabbitMQ instances to DMS for RocketMQ). |
exchanges |
No |
Array of MigrationRabbitExchangeMetadata objects |
RabbitMQ exchange metadata list. This parameter is mandatory for rabbitToRocket migration tasks (from self-built RabbitMQ instances to DMS for RocketMQ). |
bindings |
No |
Array of MigrationRabbitBindingMetadata objects |
RabbitMQ binding metadata list. This parameter is mandatory for rabbitToRocket migration tasks (from self-built RabbitMQ instances to DMS for RocketMQ). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
topicName |
No |
String |
Topic name. |
topic_name |
No |
String |
Topic name. |
order |
No |
Boolean |
Indicates whether a message is an ordered message. |
perm |
No |
Integer |
Topic permission. |
readQueueNums |
No |
Integer |
Number of read queues. |
read_queue_nums |
No |
Integer |
Number of read queues. |
writeQueueNums |
No |
Integer |
Number of write queues. |
write_queue_nums |
No |
Integer |
Number of write queues. |
topicFilterType |
No |
String |
Topic filtering type.
|
topic_filter_type |
No |
String |
Topic filtering type.
|
topicSysFlag |
No |
Integer |
Topic system flag. |
topic_sys_flag |
No |
Integer |
Topic system flag. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
groupName |
No |
String |
Consumer group name. |
group_name |
No |
String |
Consumer group name. |
consumeBroadcastEnable |
No |
Boolean |
Indicates whether to enable broadcast. |
consume_broadcast_enable |
No |
Boolean |
Indicates whether to enable broadcast. |
consumeEnable |
No |
Boolean |
Indicates whether to enable consumption. |
consume_enable |
No |
Boolean |
Indicates whether to enable consumption. |
consumeFromMinEnable |
No |
Boolean |
Indicates whether to enable consumption from the earliest offset. |
consume_from_min_enable |
No |
Boolean |
Indicates whether to enable consumption from the earliest offset. |
notifyConsumerIdsChangedEnable |
No |
Boolean |
Indicates whether to notify consumer ID changes. |
notify_consumer_ids_changed_enable |
No |
Boolean |
Indicates whether to notify consumer ID changes. |
retryMaxTimes |
No |
Integer |
Maximum number of consumption retries. |
retry_max_times |
No |
Integer |
Maximum number of consumption retries. |
retryQueueNums |
No |
Integer |
Number of retry queues. |
retry_queue_nums |
No |
Integer |
Number of retry queues. |
whichBrokerWhenConsumeSlow |
No |
Long |
ID of the broker selected for slow consumption. |
which_broker_when_consume_slow |
No |
Long |
ID of the broker selected for slow consumption. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Virtual host name. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
vhost |
No |
String |
Virtual host name. |
name |
No |
String |
Queue name. |
durable |
No |
Boolean |
Indicates whether to enable data persistence. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
task_id |
String |
Task ID. |
Example Requests
-
Creating a metadata migration task to migrate the metadata from other vendors' or self-built RocketMQ instances to DMS for 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 } } }
-
Creating a metadata migration task to migrate the metadata of RabbitMQ instances to DMS for 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" } ] }
Example Responses
Status code: 200
Successful
{ "task_id" : "6cf4dcd3-8471-4139-8b5b-8a3a71f704c7" }
Status Codes
Status Code |
Description |
---|---|
200 |
Successful |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.