更新时间:2025-08-12 GMT+08:00
分享

Kafka实例开始分区平衡任务

功能介绍

该接口用于向Kafka实例提交分区平衡任务或计算分区平衡预估时间。

当前页面API为历史版本API,未来可能停止维护。请使用Kafka实例开始分区平衡任务

URI

POST /v2/kafka/{project_id}/instances/{instance_id}/reassign

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

instance_id

String

实例ID。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

reassignments

Array of PartitionReassignEntity objects

分区平衡分配方案。

throttle

Integer

分区平衡门限值。

is_schedule

Boolean

是否作为定时任务执行。若非定时执行,则is_schedule和execute_at字段可为空;若为定时执行,is_schedule为true,execute_at字段非空。

execute_at

Long

定时时间,格式为Unix时间戳,单位为毫秒

time_estimate

Boolean

设为true表示执行时间预估任务,false为执行分区平衡任务。

表3 PartitionReassignEntity

参数

是否必选

参数类型

描述

topic

String

topic名称

brokers

Array of integers

分区平衡到的broker列表,自动生成分配方案时需指定该参数。

replication_factor

Integer

副本因子,自动生成分配方案时可指定。

assignment

Array of TopicAssignment objects

手动指定的分配方案。brokers参数与该参数不能同时为空。

表4 TopicAssignment

参数

是否必选

参数类型

描述

partition

Integer

手动指定分配方案时的分区号。

partition_brokers

Array of integers

手动指定某个分区将要分配的broker列表

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

job_id

String

任务ID(当执行分区平衡任务时仅返回job_id)。

reassignment_time

Integer

预估时间,单位为秒(当执行预估时间任务时仅返回reassignment_time)。

请求示例

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
}

响应示例

状态码: 200

提交分区平衡任务成功(若为预估时间任务则返回预估时间)。

{
  "job_id" : "8a2c259182ab0e9d0182ab1882560009",
  "reassignment_time" : 10
}

状态码

状态码

描述

200

提交分区平衡任务成功(若为预估时间任务则返回预估时间)。

错误码

请参见错误码

相关文档