Initiating Partition Reassignment for a Kafka Instance
Function
This API is used to submit a partition reassignment task for a Kafka instance. If the task is successfully submitted, its job ID is returned.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/kafka/instances/{instance_id}/reassign
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
|
instance_id |
Yes |
String |
Instance ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
reassignments |
Yes |
Array of PartitionReassignEntity objects |
Partition reassignment plan. |
|
throttle |
No |
Integer |
Partition reassignment threshold. |
|
is_schedule |
No |
Boolean |
Whether the task is scheduled. If no, is_schedule and execute_at can be left blank. If yes, is_schedule is true and execute_at must be specified. |
|
execute_at |
No |
Long |
Schedule time. The value is a UNIX timestamp, in ms. |
|
time_estimate |
No |
Boolean |
Set true to perform time estimation tasks and false to perform partition reassignment tasks. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
topic |
Yes |
String |
Topic name. |
|
brokers |
No |
Array of integers |
List of brokers to which partitions are reassigned. This parameter is mandatory in automatic assignment. |
|
replication_factor |
No |
Integer |
Replication factor, which can be specified in automatic assignment. |
|
assignment |
No |
Array of TopicAssignment objects |
Manually specified assignment plan. The brokers parameter and this parameter cannot be empty at the same time. |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
job_id |
String |
Task ID. Only job_id is returned for a partition reassignment task. |
|
reassignment_time |
Integer |
Estimated time, in seconds. Only reassignment_time is returned for a time estimation task. |
Example Requests
POST https://{endpoint}/v2/kafka/{project_id}/instances/{instance_id}/reassign
{
"reassignments" : [ {
"topic" : "topic-1513476102",
"brokers" : [ 0, 1, 2 ],
"replication_factor" : 3,
"assignment" : [ {
"partition" : 0,
"partition_brokers" : [ 0, 1, 2 ]
}, {
"partition" : 1,
"partition_brokers" : [ 1, 2, 0 ]
}, {
"partition" : 2,
"partition_brokers" : [ 2, 0, 1 ]
} ]
}, {
"topic" : "topic-1513558717",
"brokers" : [ 0, 1, 4 ],
"replication_factor" : 3,
"assignment" : [ {
"partition" : 0,
"partition_brokers" : [ 0, 1, 2 ]
}, {
"partition" : 1,
"partition_brokers" : [ 1, 2, 0 ]
}, {
"partition" : 2,
"partition_brokers" : [ 2, 0, 1 ]
} ]
} ],
"throttle" : 10000000,
"time_estimate" : false
}
Example Responses
Status code: 200
Successful (The duration is returned for an estimation task.).
{
"job_id" : "8a2c259182ab0e9d0182ab1882560009",
"reassignment_time" : 10
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
Successful (The duration is returned for an estimation task.). |
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.