
# 查询发放策略列表
#### 功能介绍
查询发放策略列表
#### URI
GET /v5/iotps/{project_id}/allocation-strategies/{strategy_type}
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                        |
|:---|:---|:---|:---|
| project_id    | 是    | String | 项目ID。 最小长度：**1** 最大长度：**32**                                              |
| strategy_type | 是    | String | 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值：**base** |
表2Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| limit  | 否    | Integer | 分页查询时每页显示的记录数，默认值为10，取值范围为1-50的整数。 最小值：**1** 最大值：**50** 缺省值：**10**                                                                                                                                                                                   |
| marker | 否    | String  | 上一次分页查询结果中最后一条记录的ID，在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的，越新的数据记录ID也会越大。若填写marker，则本次只查询记录ID小于marker的数据记录。若不填写，则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据，则每次查询时必须填写上一次查询响应中的marker值。 缺省值：**999999999999999999999999** 最小长度：**24** 最大长度：**24** |
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数         | 参数类型                                                                                  | 描述                         |
|:---|:---|:---|
| strategies | Array of [StrategyResp] objects | 发放策略实例列表 数组长度：**0 - 1000** |
| page       | [Page] object                           | 查询结果的分页信息。                 |
   
 表5StrategyResp 
| 参数                     | 参数类型                                                                                        | 描述                                                                        |
|:---|:---|:---|
| strategy_id            | String                                                                                      | 策略id。 最小长度：**1** 最大长度：**64**                                              |
| strategy_type          | String                                                                                      | 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值：**base** |
| authorizer             | [TenantDomainResp] object         | 授权账号信息结构体                                                                 |
| access_points          | Array of [AccessPointResp] objects | 发放区域。 数组长度：**0 - 1000**                                                   |
| base_strategy_info     | [BaseStrategyInfo] object         | 静态策略结构体                                                                   |
| cert_strategy_info     | [CertStrategyInfo] object         | 证书策略结构体                                                                   |
| function_strategy_info | [FunctionStrategyInfo] object | 自定义策略结构体                                                                  |
   
 表6TenantDomainResp 
| 参数          | 参数类型   | 描述                            |
|:---|:---|:---|
| domain_id   | String | 公有云账户ID                       |
| domain_name | String | 公有云账户名 最小长度：**1** 最大长度：**64** |
   
 表7AccessPointResp 
| 参数                | 参数类型   | 描述                                                                               |
|:---|:---|:---|
| access_point_id   | String | 接入点id。 最小长度：**1** 最大长度：**256**                                                   |
| access_point_name | String | 接入点名称。 最小长度：**1** 最大长度：**256**                                                   |
| region_id         | String | 华为云终端节点ID。节选自https://developer.huaweicloud.com/endpoint。 最小长度：**1** 最大长度：**128** |
   
 表8BaseStrategyInfo 
| 参数           | 参数类型    | 描述                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| keyword      | String  | 静态策略的关键字。 最小长度：**1** 最大长度：**256**                                                                                                                                                                                                                                  |
| priority     | Integer | 静态策略的优先级别。 取值范围：0-4，0级最低，4级最高。 最小值：**0** 最大值：**4**                                                                                                                                                                                                                 |
| app_id       | String  | 应用ID。设备发放的目的接入点的目的应用。 最小长度：**1** 最大长度：**64**                                                                                                                                                                                                                       |
| app_name     | String  | 应用名。设备发放的目的接入点的目的应用。 最小长度：**1** 最大长度：**64**                                                                                                                                                                                                                        |
| keyword_from | String  | 关键字来源。设备发放静态策略的匹配信息来源。 deviceName: 设备名称，默认的匹配方式，设备信息在被创建后，设备名称包涵设置的关键字，即可按照该行策略指定的发放应用进行实例发放。 payload: 数据上报，如果设备在连接后，进行发放publish时。上报Topic "$oc/devices/${deviceId}/sys/bootstrap/up" 中，json上报的属性 "baseStrategyKeyword" 包含设置的关键字，即可按该实例进行发放。 最小长度：**1** 最大长度：**64** |
   
 表9CertStrategyInfo 
| 参数        | 参数类型   | 描述                                           |
|:---|:---|:---|
| cert_id   | String | 证书ID。 最小长度：**1** 最大长度：**64**                 |
| cert_name | String | 证书名称。 最小长度：**0** 最大长度：**256**                |
| app_id    | String | 应用ID。设备发放的目的接入点的目的应用。 最小长度：**1** 最大长度：**64** |
| app_name  | String | 应用名。设备发放的目的接入点的目的应用。 最小长度：**1** 最大长度：**64**  |
   
 表10FunctionStrategyInfo 
| 参数        | 参数类型   | 描述                                                           |
|:---|:---|:---|
| func_name | String | function名称。 最小长度：**1** 最大长度：**64**                           |
| func_urn  | String | 函数的URN（Uniform Resource Name），唯一标识函数 最小长度：**1** 最大长度：**360** |
   
 表11Page 
| 参数     | 参数类型   | 描述                                                      |
|:---|:---|:---|
| count  | Long   | 满足查询条件的记录总数，最大返回1000条记录。 最小值：**0** 最大值：**1000**         |
| marker | String | 本次分页查询结果中最后一条记录的ID，可在下一次分页查询时使用。 最小长度：**0** 最大长度：**64** |
   
#### 请求示例
- 查询静态策略请求示例
  ```
  GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/base
  ```
- 查询证书策略请求示例
  ```
  GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/certificates
  ```
- 查询自定义策略请求示例
  ```
  GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/functions
  ```
#### 响应示例
**状态码： 200**
OK
- 示例 1
  ```
  {
    "page" : {
      "count" : 2,
      "marker" : 2
    },
    "strategies" : [ {
      "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
      "strategy_type" : "base",
      "access_points" : {
        "access_point_id" : "DMP-CNNorth-4-1",
        "access_point_name" : "设备管理-北京四-1",
        "region_id" : "cn-north-4"
      },
      "base_strategy_info" : {
        "priority" : 0,
        "keyword" : "mqttd",
        "app_id" : "dc0f1016f495157344ac5f1296335cff725ef22f",
        "app_name" : "mqttApp"
      }
    }, {
      "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
      "strategy_type" : "base",
      "access_points" : {
        "access_point_id" : "DMP-CNNorth-4-1",
        "access_point_name" : "设备管理-北京四-1",
        "region_id" : "cn-north-4"
      },
      "base_strategy_info" : {
        "priority" : 0,
        "keyword" : "mqttd",
        "app_id" : "dc0f1016f495157344ac5f1296335cff725ef22f",
        "app_name" : "mqttApp",
        "keyword_from" : "deviceName"
      }
    } ]
  }
  ```
- 示例 2
  ```
  {
    "page" : {
      "count" : 1,
      "marker" : 1
    },
    "strategies" : [ {
      "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
      "strategy_type" : "certificates",
      "access_points" : {
        "access_point_id" : "DMP-CNNorth-4-1",
        "access_point_name" : "设备管理-北京四-1",
        "region_id" : "cn-north-4"
      },
      "cert_strategy_info" : {
        "cert_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
        "cert_name" : "mqttCaCert",
        "app_id" : "dc0f1016f495157344ac5f1296335cff725ef22f",
        "app_name" : "mqttApp"
      }
    } ]
  }
  ```
- 示例 3
  ```
  {
    "page" : {
      "count" : 1,
      "marker" : 1
    },
    "strategies" : [ {
      "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
      "strategy_type" : "functions",
      "access_points" : {
        "access_point_id" : "DMP-CNNorth-4-1",
        "access_point_name" : "设备管理-北京四-1",
        "region_id" : "cn-north-4"
      },
      "function_strategy_info" : {
        "func_name" : "599d1975-ec30-4a5f-a390-ef388a1fbc70",
        "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test"
      }
    } ]
  }
  ```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iotps/ErrorCode.html)。
