更新时间:2024-07-01 GMT+08:00
分享

创建发放策略

功能介绍

创建发放策略

URI

POST /v5/iotps/{project_id}/allocation-strategies/{strategy_type}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

最小长度:1

最大长度:32

strategy_type

String

策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。

缺省值:base

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

authorizer

TenantDomainReq object

授权账号信息。access_points为授权租户的接入点时必填。

access_points

Array of AccessPointReq objects

策略实例指向的接入点ID。自定义策略(FUNCTION)可填多个接入点ID,其他策略类型只允许填一个接入点ID。

数组长度:1 - 10

base_strategy_info

BaseStrategyInfoReq object

静态策略结构体。策略类型为静态策略(base)时必填。

cert_strategy_info

CertStrategyInfoReq object

证书策略结构体。策略类型为证书策略(certificates)时必填。

function_strategy_info

FunctionStrategyReq object

自定义策略结构体。策略类型为自定义策略(functions)时必填。

表4 TenantDomainReq

参数

是否必选

参数类型

描述

domain_id

String

公有云账户ID

表5 AccessPointReq

参数

是否必选

参数类型

描述

access_point_id

String

接入点ID。

最小长度:1

最大长度:64

region_id

String

接入点所属区域ID。

最小长度:1

最大长度:64

表6 BaseStrategyInfoReq

参数

是否必选

参数类型

描述

keyword

String

静态策略的关键字。

最小长度:1

最大长度:256

priority

Integer

静态策略的优先级别。

取值范围:0-4,0级最低,4级最高。

最小值:0

最大值:4

app_id

String

应用ID。设备发放的目的接入点的目的应用,不填时,取默认应用。

最小长度:1

最大长度:64

keyword_from

String

关键字来源。设备发放静态策略的匹配信息来源。 deviceName: 设备名称,默认的匹配方式,设备信息在被创建后,设备名称包涵设置的关键字,即可按照该行策略指定的发放应用进行实例发放。 payload: 数据上报,如果设备在连接后,进行发放publish时。上报Topic “$oc/devices/${deviceId}/sys/bootstrap/up” 中,json上报的属性 “baseStrategyKeyword” 包含设置的关键字,即可按该实例进行发放。

缺省值:deviceName

最小长度:1

最大长度:64

表7 CertStrategyInfoReq

参数

是否必选

参数类型

描述

cert_id

String

证书ID。

最小长度:1

最大长度:64

app_id

String

应用ID。设备发放的目的接入点的目的应用,不填时,取默认应用。

最小长度:1

最大长度:64

表8 FunctionStrategyReq

参数

是否必选

参数类型

描述

func_urn

String

函数的URN(Uniform Resource Name),唯一标识函数

最小长度:1

最大长度:360

响应参数

状态码: 200

表9 响应Body参数

参数

参数类型

描述

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

自定义策略结构体

表10 TenantDomainResp

参数

参数类型

描述

domain_id

String

公有云账户ID

domain_name

String

公有云账户名

最小长度:1

最大长度:64

表11 AccessPointResp

参数

参数类型

描述

access_point_id

String

接入点id。

最小长度:1

最大长度:256

access_point_name

String

接入点名称。

最小长度:1

最大长度:256

region_id

String

华为云终端节点ID。节选自https://developer.huaweicloud.com/endpoint。

最小长度:1

最大长度:128

表12 BaseStrategyInfo

参数

参数类型

描述

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

表13 CertStrategyInfo

参数

参数类型

描述

cert_id

String

证书ID。

最小长度:1

最大长度:64

cert_name

String

证书名称。

最小长度:0

最大长度:256

app_id

String

应用ID。设备发放的目的接入点的目的应用。

最小长度:1

最大长度:64

app_name

String

应用名。设备发放的目的接入点的目的应用。

最小长度:1

最大长度:64

表14 FunctionStrategyInfo

参数

参数类型

描述

func_name

String

function名称。

最小长度:1

最大长度:64

func_urn

String

函数的URN(Uniform Resource Name),唯一标识函数

最小长度:1

最大长度:360

请求示例

  • 创建静态策略请求示例

    POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/base
    
    {
      "access_points" : [ {
        "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71",
        "region_id" : "cn-north-4"
      } ],
      "base_strategy_info" : {
        "keyword" : "waterMeterDevice",
        "keyword_from" : "deviceName",
        "priority" : 0
      }
    }
  • 创建证书策略请求示例

    POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/certificates
    
    {
      "access_points" : [ {
        "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71",
        "region_id" : "cn-north-4"
      } ],
      "cert_strategy_info" : {
        "cert_id" : "dc0f1016f495157344ac5f1296335cff725ef22f"
      }
    }
  • 创建自定义策略请求示例

    POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/functions
    
    {
      "access_points" : [ {
        "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71",
        "region_id" : "cn-north-4"
      }, {
        "access_point_id" : "dc0f1016f495157344ac5f1296335cff725ef22f",
        "region_id" : "cn-north-1"
      } ],
      "function_strategy_info" : {
        "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test"
      }
    }

响应示例

状态码: 200

Created

  • 示例 1

    {
      "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" : "payload"
      }
    }
  • 示例 2

    {
      "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

    {
      "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

Created

400

Bad Request

403

Forbidden

500

Internal Server Error

错误码

请参见错误码

相关文档