通过 OpenAPI 升降配 RocketMQ 实例

更新时间:
复制 MD 格式

本文介绍如何通过 BssOpenApi 的 OpenAPI 对 RocketMQ 5.0实例进行升降配操作。

背景信息

RocketMQ 5.0实例不提供直接的升降配 API,需要使用 BSS 的 OpenAPI 来完成实例配置变更。整个操作流程包括两个步骤:首先查询定价模块获取可配置项,然后执行实例变配。

商品主要模块说明

1. 非Serverless系列实例(包年包月、按量付费)

Code

Name

说明

region

地域

实例所在地域

series_type

主系列类型

  • standard:标准版

  • professional:专业版

  • ultimate:铂金版

msg_process_spec

消息收发计算规格

实例处理能力规格,示例值:rmq.s2.4xlarge

internet_spec

公网访问类型

  • disable:关闭

  • enable:开启

flow_out_type

公网计费类型

  • uninvolved:不涉及

  • payByBandwidth:固定带宽计费

flow_out_bandwidth

公网带宽规格

单位 Mbps,取值范围1~5000,步长 1。

2. Serverless系列实例

Code

Name

说明

region

地域

实例所在地域

series_type

主系列类型

  • shared:共享

  • dedicated:独享

  • standard:标准版(存量实例)

  • professional:专业版(存量实例)

charge_type

容量类型

  • provisioned:预留+弹性

  • ondemand:按累积量

provisioned_capacity

预留容量

单位 TPS。

internet_spec

公网访问类型

  • disable:关闭

  • enable:开启

查询定价模块接口DescribePricingModule

如果还需要查询更详细的模块信息,调用 DescribePricingModule 接口查询当前实例类型支持的配置项和参数范围。

请求参数

参数名称

类型

是否必填

描述

ProductCode

String

产品代码,固定为 ons

ProductType

String

产品类型,根据实例付费类型选择

SubscriptionType

String

付费类型

  • PrePaid:预付费

  • PayAsYouGo:后付费

商品名称

ProductType 取值

SubscriptionType 取值

Serverless系列(包年包月)实例

ons_rmqsub_public_cn

//国际站 ons_rmqsub_public_intl

PrePaid

Serverless系列(按量付费)实例

ons_rmqpost_public_cn

//国际站 ons_rmqsub_public_intl

PayAsYouGo

Serverless 系列实例

ons_rmqsrvlesspost_public_cn

//国际站 ons_rmqpost_public_intl

PayAsYouGo

返回参数说明

接口返回的 Data.AttributeList.Attribute 数组中包含所有可配置项,关键字段如下:

字段

描述

Code

配置项代码,用于后续变配请求

Name

配置项名称

Values.AttributeValue

可选的配置值列表

示例请求

GET https://business.aliyuncs.com?Action=DescribePricingModule
&ProductCode=ons
&ProductType=ons_rmqpost_public_cn
&SubscriptionType=PayAsYouGo
&<公共请求参数>

正常返回示例

{
  "Message": "Successful!",
  "RequestId": "8D4F6ED6-569B-5544-A330-C7FFB9362AED",
  "Data": {
    "AttributeList": {
      "Attribute": [
        {
          "Code": "region",
          "Name": "地域",
          "Values": {
            "AttributeValue": [
              {
                "Type": "single_string",
                "Value": "cn-hangzhou",
                "Name": "华东 1(杭州)"
              },
              {
                "Type": "single_string",
                "Value": "cn-shanghai",
                "Name": "华东 2(上海)"
              }
            ]
          }
        },
        {
          "Code": "msg_process_spec",
          "Name": "消息收发计算规格",
          "Values": {
            "AttributeValue": [
              {
                "Type": "single_string",
                "Value": "rmq.p2.10xlarge",
                "Name": "rmq.p2.10xlarge"
              },
              {
                "Type": "single_string",
                "Value": "rmq.p2.20xlarge",
                "Name": "rmq.p2.20xlarge"
              }
            ]
          }
        }
      ]
    }
  },
  "Code": "Success",
  "Success": true
}

实例变配接口ModifyInstance

调用 ModifyInstance 接口执行实际的升降配操作。

请求参数

参数名称

类型

是否必填

描述

示例值

ProductCode

String

产品代码,固定为 ons

ons

ProductType

String

产品类型,与 DescribePricingModule 保持一致

ons_rmqpost_public_cn

SubscriptionType

String

订阅类型,与 DescribePricingModule 保持一致

PayAsYouGo

ModifyType

String

变配类型

UPGRADE(升配)或 DOWNGRADE(降配)

InstanceId

String

RocketMQ 实例 ID

RMQ-CN-XXXXX

Parameter.N.Code

String

要变更的配置项代码(来自 Attribute.Code)

flow_out_bandwidth

Parameter.N.Value

String

变更后的目标值

10

Parameter 参数说明:

  • N 表示参数序号,从 1 开始递增

  • Code:配置项代码,必须是 DescribePricingModule 返回的 Attribute.Code 中的值

  • Value:目标配置值,必须是对应配置项支持的值

示例请求

将实例的公网带宽升级到 10MB:

POST https://business.aliyuncs.com
Content-Type: application/x-www-form-urlencoded

Action=ModifyInstance
&ProductCode=ons
&ProductType=ons_rmqpost_public_cn
&SubscriptionType=PayAsYouGo
&ModifyType=UPGRADE
&InstanceId=RMQ-CN-U7C3G0D5R0C
&Parameter.1.Code=flow_out_bandwidth
&Parameter.1.Value=10
&<公共请求参数>

正常返回示例

{
  "Message": "Successful!",
  "RequestId": "922027E7-0058-5BD0-A1D3-B0605F97E750",
  "Data": {
    "OrderId": 253874756120529,
    "HostId": "CN"
  },
  "Code": "Success",
  "Success": true
}

返回参数说明

字段

描述

OrderId

创建的订单 ID,变配会生成新订单并自动支付

HostId

主机 ID

注意事项

  1. 订单自动生成:调用 ModifyInstance 接口会自动创建变配订单并完成支付,无需手动操作。

  2. 配置项约束

    • 所有配置项的取值必须在 DescribePricingModule 返回的范围内

    • 不同地域、不同付费类型支持的配置项可能不同

    • 部分配置项存在依赖关系,如公网带宽需要先设置公网计费类型

  3. 变配影响

    • 升配通常立即生效

    • 降配可能在下一个计费周期生效

    • 部分配置变更可能导致实例短暂重启

相关 API

错误码

接口调用失败时,返回的错误信息包含在 Message 字段中。常见错误包括:

  • 参数值不在允许范围内

  • 实例状态不支持变配

  • 账户余额不足

详细错误码请参见 BssOpenApi 错误码