Reviewed-by: Ziuzko, Stanislav <stanislav.ziuzko@t-systems.com> Co-authored-by: Chen, Junjie <chenjunjie@huawei.com> Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
14 KiB
Initiating Partition Reassigning for a Kafka Instance
Function
This API is used to submit a partition rebalancing task to a Kafka instance or calculate estimated rebalancing time.
URI
POST /v2/kafka/{project_id}/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 |
Reassignment plan. |
throttle |
No |
Integer |
Reassignment threshold. |
is_schedule |
No |
Boolean |
Indicates 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 rebalancing 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 rebalancing 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
Rebalancing task submitted or the estimated time is returned.
{ "job_id" : "8a2c259182ab0e9d0182ab1882560009", "reassignment_time" : 10 }
Status Codes
Status Code |
Description |
---|---|
200 |
Rebalancing task submitted or the estimated time is returned. |
Error Codes
See Error Codes.