You need to enable JavaScript to run this app.
导航
ModifyTopicParameters - 修改 Topic 参数配置
最近更新时间:2024.10.17 15:25:38首次发布时间:2023.03.30 19:59:25

调用 ModifyTopicParameters 接口修改 Topic 的参数配置,比如调整指定 Topic 的分区数、最小同步副本个数等配置。

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

参数
类型
是否必填
示例值
描述
Action
String

ModifyTopicParameters

要执行的操作,取值:ModifyTopicParameters。

Version
String

2022-05-01

API的版本,取值:2022-05-01。

InstanceId
String

kafka-cnngbnntswg1****

Topic 的实例 ID。

TopicName
String

my_topic

Topic 的名称。Topic 创建后不支持修改 TopicName。

Parameters
String

{"MessageMaxByte":"11"}

Kafka 在 Topic 级别的参数配置。
当前支持的参数列表及参数默认值,请参考下表 Topic Parameters 参数说明。您也可以通过文档修改参数配置查看各参数的详细信息。
通过 Postman 等方式调用 API 时,应注意转义,例如{\"LogRetentionHours\":\"72\",\"MessageMaxByte\":\"10\",\"MinInsyncReplicaNumber\":\"2\"}

Parameters 参数说明

  • "MinInsyncReplicaNumber":"2":最小同步副本个数。当同步副本个数小于配置值时,消息将无法写入对应 Topic。配置值越大,数据可靠性增加,但是可用性将会降低。默认值为副本数减 1。考虑到 Topic 的可用性,建议设置为副本数减 1。
  • "MessageMaxByte":"10":最大消息大小。单位为 MB,取值范围为 1~12。默认沿用实例的最大消息大小设置。
  • "LogRetentionHours":"72":消息保留时长。单位为小时,取值范围为 0~2160,即消息最久保留 90 天。默认沿用实例的消息保留时长设置。
PartitionNumber
Integer

10

此 Topic 的分区数量。分区数量越大,消费的并发度越大。
该参数只能调大不能调小,且不可超出 Kakfa 实例的剩余可用分区数。

ReplicaNumber
Integer

3

分区的副本个数,表示对应数量的副本上备份数据。当其中一个 Broker 故障时仍可保障数据可用性,副本数越大可靠性越高。

说明

  • 增加副本数会占用实例磁盘容量,请确保容量充足。
  • 增加副本时会占用实例带宽资源,建议在业务低峰期操作。
  • 减少副本数会降低数据可用性,请谨慎操作。
  • 1 副本 Topic 无法保障数据可靠性且实例升级期间无法进行读写操作,建议选择 2 副本或 3 副本

返回参数

本接口无特有的返回参数。更多信息请见返回结构

请求示例

POST /?Action=ModifyTopicParameters&Version=2022-05-01 HTTP/1.1
Content-Type: application/json
Host: kafka.volcengineapi.com
X-Date: 20210328T100802Z
Authorization: HMAC-SHA256 Credential=AK********/20210328/cn-beijing/Kafka/request, SignedHeaders=x-date, Signature=********

{
  "InstanceId": "kafka-cnngbnntswg1****",
  "TopicName": "123",
  "Parameters": "{\"LogRetentionHours\":\"72\",\"MessageMaxByte\":\"10\",\"MinInsyncReplicaNumber\":\"2\"}",
  "PartitionNumber":22
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "2023022720003326EC39DC5C89026AD3E1",
        "Action": "ModifyTopicParameters",
        "Version": "2022-05-01",
        "Service": "Kafka",
        "Region": "cn-beijing"
    },
    "Result": null
}

错误码

下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。

状态码
错误码
错误信息
说明
400
QuotaExceeded.PatitionNumber
The number of partitions exceeds the limit.

分区数量超出上限。

400
InvalidParameter
The specified parameter is not valid.

参数值无效。

400
InvalidParameter.NotModified
The resource was not changed.

未变更任何配置。

403
OperationDenied.InvalidInstanceStatus
The operation is not valid for the current status of the instance.

当前实例状态不允许执行该操作。

403
OperationDenied.InvalidTopicStatus
The operation is not valid for the current status of the topic.

当前Kafka主题状态不允许执行该操作。

403
OperationDenied.AccountNotAuthorized
You are not authorized to perform this operation.

您不具备相关权限 ,请授权或切换账号后重试。

404
InvalidTopicName.NotFound
The specified topic does not exist.

Topic不存在。

404
InvalidInstanceId.NotFound
The specified Instance ID does not exist.

实例不存在。

500
InternalError
The request failed due to some unknown error, exception or failure.

内部错误,请稍后重试。