
# 查询产品规格列表
#### 功能介绍
在创建Kafka实例时，需要配置订购的产品ID（即product_id），可通过该接口查询产品规格。
例如，要订购按需计费、基准带宽为100MB的Kafka实例，可从接口响应消息中，查找Hourly的消息体，然后找到bandwidth为100MB的记录对应的product_id，该product_id的值即是创建上述Kafka实例时需要配置的产品ID。
同时，unavailable_zones字段表示资源不足的可用区列表，如果为空，则表示所有可用区都有资源，如果不为空，则表示字段值的可用区没有资源。所以必须确保您购买的资源所在的可用区有资源，不在该字段列表内。
![](https://support.huaweicloud.com/api-kafka/public_sys-resources/note_3.0-zh-cn.png)
当前页面API为历史版本API，未来可能停止维护。请使用[查询产品规格列表](https://support.huaweicloud.com/api-kafka/ListEngineProducts.html)。
#### URI
GET /v2/products
表1Query参数 
| 参数     | 是否必选 | 参数类型   | 描述                    |
|:---|:---|:---|:---|
| engine | 是    | String | 消息引擎的类型。当前只支持Kafka类型。 |
   
#### 请求参数
无
#### 响应参数
**状态码： 200**
表2响应Body参数 
| 参数      | 参数类型                                                            | 描述                                     |
|:---|:---|:---|
| Hourly  | Array of [Hourly] objects   | 表示按需付费的产品列表。                           |
| Monthly | Array of [Monthly] objects | 表示包年包月的产品列表。当前暂不支持通过API创建包年包月的Kafka实例。 |
   
 表3Hourly 
| 参数      | 参数类型                                                          | 描述                   |
|:---|:---|:---|
| name    | String                                                        | 消息引擎的名称，该字段显示为kafka。 |
| version | String                                                        | 消息引擎的版本。             |
| values  | Array of [values] objects | 产品规格列表。              |
   
 表4values 
| 参数                | 参数类型                                                          | 描述           |
|:---|:---|:---|
| detail            | Array of [detail] objects | 规格详情。        |
| name              | String                                                        | 实例类型。        |
| unavailable_zones | Array of strings                                              | 资源售罄的可用区列表。  |
| available_zones   | Array of strings                                              | 有可用资源的可用区列表。 |
   
 表5detail 
| 参数                | 参数类型                                                  | 描述                 |
|:---|:---|:---|
| tps               | String                                                | 单位时间内的消息量最大值。      |
| storage           | String                                                | 消息存储空间。            |
| partition_num     | String                                                | Kafka实例的分区数量。      |
| product_id        | String                                                | 产品ID。              |
| spec_code         | String                                                | 规格ID。              |
| io                | Array of [io] objects | IO信息。              |
| bandwidth         | String                                                | Kafka实例的基准带宽。      |
| unavailable_zones | Array of strings                                      | 资源售罄的可用区列表。        |
| available_zones   | Array of strings                                      | 有可用资源的可用区列表。       |
| ecs_flavor_id     | String                                                | 该产品规格对应的虚拟机规格。     |
| arch_type         | String                                                | 实例规格架构类型。当前仅支持X86。 |
   
 表6io 
| 参数                | 参数类型             | 描述            |
|:---|:---|:---|
| io_type           | String           | IO类型。         |
| storage_spec_code | String           | IO规格。         |
| available_zones   | Array of strings | IO未售罄的可用区列表。  |
| unavailable_zones | Array of strings | IO已售罄的不可用区列表。 |
| volume_type       | String           | 磁盘类型。         |
   
 表7Monthly 
| 参数      | 参数类型                                                          | 描述                   |
|:---|:---|:---|
| name    | String                                                        | 消息引擎的名称，该字段显示为kafka。 |
| version | String                                                        | 消息引擎的版本。             |
| values  | Array of [values] objects | 产品规格列表。              |
   
表8values 
| 参数                | 参数类型                                                          | 描述           |
|:---|:---|:---|
| detail            | Array of [detail] objects | 规格详情。        |
| name              | String                                                        | 实例类型。        |
| unavailable_zones | Array of strings                                              | 资源售罄的可用区列表。  |
| available_zones   | Array of strings                                              | 有可用资源的可用区列表。 |
   
表9detail 
| 参数                | 参数类型                                                  | 描述                 |
|:---|:---|:---|
| tps               | String                                                | 单位时间内的消息量最大值。      |
| storage           | String                                                | 消息存储空间。            |
| partition_num     | String                                                | Kafka实例的分区数量。      |
| product_id        | String                                                | 产品ID。              |
| spec_code         | String                                                | 规格ID。              |
| io                | Array of [io] objects | IO信息。              |
| bandwidth         | String                                                | Kafka实例的基准带宽。      |
| unavailable_zones | Array of strings                                      | 资源售罄的可用区列表。        |
| available_zones   | Array of strings                                      | 有可用资源的可用区列表。       |
| ecs_flavor_id     | String                                                | 该产品规格对应的虚拟机规格。     |
| arch_type         | String                                                | 实例规格架构类型。当前仅支持X86。 |
   
表10io 
| 参数                | 参数类型             | 描述            |
|:---|:---|:---|
| io_type           | String           | IO类型。         |
| storage_spec_code | String           | IO规格。         |
| available_zones   | Array of strings | IO未售罄的可用区列表。  |
| unavailable_zones | Array of strings | IO已售罄的不可用区列表。 |
| volume_type       | String           | 磁盘类型。         |
   
#### 请求示例
```
GET https://{endpoint}/v2/products?engine=kafka
```
#### 响应示例
**状态码： 200**
查询产品规格列表成功。
```
{
  "Hourly" : [ {
    "name" : "kafka",
    "version" : "1.1.0",
    "values" : [ {
      "detail" : [ {
        "tps" : "50000",
        "storage" : "200",
        "partition_num" : "300",
        "product_id" : "00300-30308-0--0",
        "spec_code" : "dms.instance.kafka.cluster.c3.mini",
        "io" : [ {
          "io_type" : "normal",
          "storage_spec_code" : "dms.physical.storage.normal",
          "available_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "volume_type" : "SATA"
        }, {
          "io_type" : "high",
          "storage_spec_code" : "dms.physical.storage.high",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SAS"
        }, {
          "io_type" : "ultra",
          "storage_spec_code" : "dms.physical.storage.ultra",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SSD"
        } ],
        "bandwidth" : "100MB",
        "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
        "available_zones" : [ "xx-xx-xx" ],
        "ecs_flavor_id" : "s6.large.2",
        "arch_type" : "X86"
      }, {
        "tps" : "100000",
        "storage" : "1200",
        "partition_num" : "900",
        "product_id" : "00300-30310-0--0",
        "spec_code" : "dms.instance.kafka.cluster.c3.small.2",
        "io" : [ {
          "io_type" : "normal",
          "storage_spec_code" : "dms.physical.storage.normal",
          "available_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "volume_type" : "SATA"
        }, {
          "io_type" : "high",
          "storage_spec_code" : "dms.physical.storage.high",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SAS"
        }, {
          "io_type" : "ultra",
          "storage_spec_code" : "dms.physical.storage.ultra",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SSD"
        } ],
        "bandwidth" : "300MB",
        "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
        "available_zones" : [ "xx-xx-xx" ],
        "ecs_flavor_id" : "c3.medium.2",
        "arch_type" : "X86"
      } ],
      "name" : "cluster",
      "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
      "available_zones" : [ "xx-xx-xx" ]
    } ]
  } ],
  "Monthly" : [ {
    "name" : "kafka",
    "version" : "1.1.0",
    "values" : [ {
      "detail" : [ {
        "tps" : "50000",
        "storage" : "200",
        "partition_num" : "300",
        "product_id" : "00300-30309-0--0",
        "spec_code" : "dms.instance.kafka.cluster.c3.mini",
        "io" : [ {
          "io_type" : "normal",
          "storage_spec_code" : "dms.physical.storage.normal",
          "available_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "volume_type" : "SATA"
        }, {
          "io_type" : "high",
          "storage_spec_code" : "dms.physical.storage.high",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SAS"
        }, {
          "io_type" : "ultra",
          "storage_spec_code" : "dms.physical.storage.ultra",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SSD"
        } ],
        "bandwidth" : "100MB",
        "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
        "available_zones" : [ "xx-xx-xx" ],
        "ecs_flavor_id" : "s6.large.2",
        "arch_type" : "X86"
      }, {
        "tps" : "100000",
        "storage" : "1200",
        "partition_num" : "900",
        "product_id" : "00300-30311-0--0",
        "spec_code" : "dms.instance.kafka.cluster.c3.small.2",
        "io" : [ {
          "io_type" : "normal",
          "storage_spec_code" : "dms.physical.storage.normal",
          "available_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "volume_type" : "SATA"
        }, {
          "io_type" : "high",
          "storage_spec_code" : "dms.physical.storage.high",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SAS"
        }, {
          "io_type" : "ultra",
          "storage_spec_code" : "dms.physical.storage.ultra",
          "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx", "xx-xx-xx" ],
          "available_zones" : [ ],
          "volume_type" : "SSD"
        } ],
        "bandwidth" : "300MB",
        "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
        "available_zones" : [ "xx-xx-xx" ],
        "ecs_flavor_id" : "c3.medium.2",
        "arch_type" : "X86"
      } ],
      "name" : "cluster",
      "unavailable_zones" : [ "xx-xx-xx", "xx-xx-xx" ],
      "available_zones" : [ "xx-xx-xx" ]
    } ]
  } ]
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | 查询产品规格列表成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-kafka/ErrorCode.html)。
