检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过自定义策略发放设备功能流程图如下图所示。 函数开发 自定义策略的函数代码编写指南参见创建自定义策略函数。 此处以Java语言为例,如何编写Java语言的函数,参见函数工作流 FunctionGraph > 开发指南> 如何开发函数> Java函数开发指南。 创建函数工程,编写函数。 关键流程代码参考如下:
说明。 创建Java函数时,函数入口参数需要提供函数完整的名字空间,参数格式为:包名.类名.函数名。 设备发放在此基础上,要求函数代码满足如下条件: 返回参数:需满足设备发放对返回参数的约束; 函数参数:需满足设备发放对函数参数的约束; 函数接口实现:从函数参数中的备选接入点中选
运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行没报错,在对应的设备接入平台可以看到设备,并已在线。 父主题: MQTT场景--使用华为SDK接入设备发放示例
进入“策略”界面,单击展开“自定义策略”,单击“添加函数”。 图1 添加自定义策略 按照下方参数说明填写关键参数信息后,单击“确定”。 参数名称 说明 示例 函数 即在函数服务中实现的自定义策略。如果下拉框没有你想要的函数,可以单击创建新函数来实现你的自定义策略需求。 将需要通过函数“function”发放的设备发放至华北-北京四的物联网平台。
100411 function urn not exist. 函数不存在 请填写正确的函数信息 400 IoTDP.100412 function urn is exist by this domain. 函数名已存在 请填写正确的函数信息 400 IoTDP.100413 strategy
改接入地址。 本场景涉及的功能也适用于多个商用环境间的迁移。 提供在线签发设备证书能力 设备发放能提供在线签发设备证书能力,设备厂商无需加密管理设备的CA证书和设备证书,或者具备PKI证书颁发能力,通过设备发放在线签发设备证书,实现设备的安全认证。 具体使用示例参考MQTT 华为云证书注册组发放示例。
运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行没报错,在对应的设备接入平台可以看到设备,并已在线。 父主题: MQTT场景--使用华为SDK接入设备发放示例
与静态策略和证书策略相比,自定义策略为您提供更灵活的策略机制。自定义策略实例指示函数关联的设备接入实例,一个函数可关联多个设备接入实例。 设备匹配自定义策略实例的机制为: 设备的发放策略指定为“函数策略”时,需同时指定其关联的函数,设备与自定义策略实例关联同一个函数时,即被认为该设备匹配上该条策略实例; 一个设备可匹配多条自定义策略实例。
FunctionStrategyReq 参数 是否必选 参数类型 描述 func_urn 是 String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述
书ID为云证书服务生成的证书ID。 最小长度:0 最大长度:256 func_urn 否 String 函数的URN(Uniform Resource Name),唯一标识函数。 最小长度:1 最大长度:360 auth_type 否 String 认证类型 register_group_secret
选择证书 用于和注册组绑定,同一个证书只能同时绑定一个注册组,不能同时绑定多个注册组。 发放策略 当前只支持“自定义策略”,同时需要选择所要运行的函数。 生成设备证书 使用OpenSSL工具为设备证书生成密钥对(设备私钥): openssl genrsa -out deviceCert.key
选择证书 用于和注册组绑定,同一个证书只能同时绑定一个注册组,不能同时绑定多个注册组。 发放策略 当前只支持“自定义策略”,同时需要选择所要运行的函数。 父主题: 设备
D为云证书管理服务生成的证书ID。 最小长度:0 最大长度:256 func_urn 否 String 函数的URN(Uniform Resource Name),唯一标识函数。自定义策略下必填该字段。 最小长度:1 最大长度:360 bs_secret 否 String 引导服务端PSK。
func_name String function名称。 最小长度:1 最大长度:64 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360 表11 Page 参数 参数类型 描述 count Long 满足查询
运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行没报错,在对应的设备接入平台可以看到设备,并已在线。 收到设备发放下发的设备接入地址后,需要关闭设备侧的设备发放的连接,用的新的URL地址与设备接入通信,进行相关业务。 新增IoT接入实例
缺省值:functions function_name String 自定义函数名称。 最小长度:1 最大长度:256 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 最小长度:1 最大长度:360 registration_group_id
func_name String function名称。 最小长度:1 最大长度:64 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360 请求示例 查询静态策略请求示例 GET https://{endpoi
缺省值:functions function_name String 自定义函数名称。 最小长度:1 最大长度:256 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 最小长度:1 最大长度:360 registration_group_id
书ID为云证书服务生成的证书ID。 最小长度:0 最大长度:256 func_urn 否 String 函数的URN(Uniform Resource Name),唯一标识函数。 最小长度:1 最大长度:360 init_config 否 String 注册组的初始化配置。必须为json字符串
创建设备时,需要使用设备接入服务创建的产品 设备接入服务(IoT Device Access,IoTDA) 创建产品 创建自定义策略时需要使用函数 函数工作流服务(FunctionGraph) 创建并初始化函数 创建证书策略使用云证书时,需要去云证书管理服务创建云证书 云证书管理服务(Cloud Certificate