本文介绍如何通过 BssOpenApi 的 OpenAPI 对 RocketMQ 5.0实例进行升降配操作。
背景信息
RocketMQ 5.0实例不提供直接的升降配 API,需要使用 BSS 的 OpenAPI 来完成实例配置变更。整个操作流程包括两个步骤:首先查询定价模块获取可配置项,然后执行实例变配。
商品主要模块说明
1. 非Serverless系列实例(包年包月、按量付费)
Code | Name | 说明 |
region | 地域 | 实例所在地域 |
series_type | 主系列类型 |
|
msg_process_spec | 消息收发计算规格 | 实例处理能力规格,示例值:rmq.s2.4xlarge |
internet_spec | 公网访问类型 |
|
flow_out_type | 公网计费类型 |
|
flow_out_bandwidth | 公网带宽规格 | 单位 Mbps,取值范围1~5000,步长 1。 |
2. Serverless系列实例
Code | Name | 说明 |
region | 地域 | 实例所在地域 |
series_type | 主系列类型 |
|
charge_type | 容量类型 |
|
provisioned_capacity | 预留容量 | 单位 TPS。 |
internet_spec | 公网访问类型 |
|
查询定价模块接口DescribePricingModule
如果还需要查询更详细的模块信息,调用 DescribePricingModule 接口查询当前实例类型支持的配置项和参数范围。
请求参数
参数名称 | 类型 | 是否必填 | 描述 |
ProductCode | String | 是 | 产品代码,固定为 |
ProductType | String | 是 | 产品类型,根据实例付费类型选择 |
SubscriptionType | String | 是 | 付费类型
|
商品名称 | ProductType 取值 | SubscriptionType 取值 |
非Serverless系列(包年包月)实例 |
//国际站 ons_rmqsub_public_intl |
|
非Serverless系列(按量付费)实例 |
//国际站 ons_rmqsub_public_intl |
|
Serverless 系列实例 |
//国际站 ons_rmqpost_public_intl |
|
返回参数说明
接口返回的 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 | 是 | 产品代码,固定为 |
|
ProductType | String | 是 | 产品类型,与 DescribePricingModule 保持一致 |
|
SubscriptionType | String | 是 | 订阅类型,与 DescribePricingModule 保持一致 |
|
ModifyType | String | 是 | 变配类型 |
|
InstanceId | String | 是 | RocketMQ 实例 ID |
|
Parameter.N.Code | String | 是 | 要变更的配置项代码(来自 Attribute.Code) |
|
Parameter.N.Value | String | 是 | 变更后的目标值 |
|
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 |
注意事项
订单自动生成:调用
ModifyInstance接口会自动创建变配订单并完成支付,无需手动操作。配置项约束:
所有配置项的取值必须在
DescribePricingModule返回的范围内不同地域、不同付费类型支持的配置项可能不同
部分配置项存在依赖关系,如公网带宽需要先设置公网计费类型
变配影响:
升配通常立即生效
降配可能在下一个计费周期生效
部分配置变更可能导致实例短暂重启
相关 API
错误码
接口调用失败时,返回的错误信息包含在 Message 字段中。常见错误包括:
参数值不在允许范围内
实例状态不支持变配
账户余额不足
详细错误码请参见 BssOpenApi 错误码。