云端迁移

举报
yd_246268034 发表于 2023/07/20 09:29:05 2023/07/20
【摘要】 1、描述主要进行介绍在物联网平台端侧只用到 ”消息”(透传)的场景。以下介绍2种场景:场景一说明:不改变设备端的主要代码,应用侧使用华为云SDK的情况下进行迁移。【除了消息透传以外其他功能不能用】适用场景:在云平台只用了消息(透传)功能的场景。步骤:场景二说明:设备侧和应用侧使用华为云SDK(进行数据格式适配)。【可使用华为云IoT所有功...

以下文档主要用于说明其他第三方云设备迁移到华为云的方案。首先,需要评估是否能够迁移,下表为使用限制:

表1 使用限制说明


描述

云端

  • 物模型:现有的迁移方案不支持迁移物模型(属性、命令),如果是较为简单的物模型可以手动迁移。若物模型迁移较为困难,不建议进行迁移。阿里云物模型主要为设置属性、事件、服务,其中阿里的属性有响应

  • OTA:实现较为复杂,在华为云中,该topic属于设备事件,如果迁移后要使用该功能,需要修改对应的数据格式。建议使用华为云对应的sdk进行数据解析。若设备侧无法更改SDK,不建议迁移。

  • 消息透传:对与不需要在云平台进行数据处理的消息,可以使用自定义topic进行迁移。

设备端

若是只用到消息功能,迁移前需要评估,设备侧是否能够更改域名、设备MQTT鉴权,目前迁移只支持MQTT协议接入设备;如果可以直接修改源码,可以直接使用华为云sdk中的应用层代码。关于topic迁移可见自定义Topic迁移上云

MQTT鉴权:

  • 需要修改MQTT鉴权中的Client ID、Username、Password。

  • 如果使用了TLS/SSL(MQTTS),需要修改接入证书。

应用端

由于应用侧鉴权较为复杂,建议直接修改代码,使用华为云SDK


1、描述

主要进行介绍在物联网平台端侧只用到 ”消息”(透传)的场景。以下介绍2种场景:

  • 场景一

    1. 说明:不改变设备端的主要代码,应用侧使用华为云SDK的情况下进行迁移。【除了消息透传以外其他功能不能用】

    2. 适用场景:在云平台只用了消息(透传)功能的场景。

    3. 步骤:

  • 场景二

    1. 说明:设备侧和应用侧使用华为云SDK(进行数据格式适配)。【可使用华为云IoT所有功能】

    2. 适用场景:适用于在云平台用了除消息(透传)功能以外的场景,比如说:OTA升级、事件、属性等。

    3. 步骤:

2、限制

1、本次方案无法直接把其他平台的物模型迁移到华为云的物模型,如果用到了物模型,需要手动迁移。

2、无法转移物联网平台中物模型中记录的数据。

3、产品及设备迁移

可以通过华为云"设备发放控制台" -> 设备数据同步 -> 创建同步任务 功能进行产品及设备的迁移。当迁移第三方物联网平台时,会复制其他平台的产品及设备到云平台。 具体的迁移方式请看:设备数据同步

4、Topic迁移

华为云中的自定义topic功能,可以不改变迁移前的topic,进行Topic迁移。使用自定义topic时设备侧上报的数据将会按照”消息上报”的流程将数据转发给第三方应用或其他服务平台处理。具体的迁移方式可以看:自定义Topic迁移上云

  1. 上行:设备侧的MQTT设备鉴权(域名、证书、设备ID&密钥)通过后,通过自定义topic上报数据到华为云平台,通过平台的数据转发功能把数据转发到应用侧(HTTPS或AMQP)。

  2. 下行:应用服务器适配设备消息下发接口往指定topic下发消息,平台收到后转发数据到设备侧。

5、设备侧、应用侧接入说明

如果是设备侧直接更换SDK的方式进行迁移,相关资料有:SDK资源获取开发指南

以下为设备侧不打算大规模更改代码的情况下的迁移说明:

设备侧

直接修改设备侧接入配置,从而进行迁移接入的话,需要注意以下几点,如果使用的是1883接入(没有使用SSL/TLS)可以忽略第3、4步:

  1. 修改域名。把迁移前的域名修改为迁移后平台的域名,域名可以在设备接入控制台 -> 总览 -> 设备接入地址中查看。

  2. 查看及修改设备ID与密钥的加密算法。

    在产品及设备迁移中,如果是第三方物联网迁移的话,密码与迁移前相同。查看迁移过来的设备id及密码,通过设备id和密钥可以生成连接信息(ClientId、Username、Password)。 具体的生成方法及参数获取方法可见:使用MQTT.fx调测

    注意:password的生成方法是用“HMACSHA256”算法以时间戳为密钥,对secret(设备的密码)进行加密后的值。不同云端可能用的算法不一样,鉴权方式也不一样,详情可见:设备连接鉴权

    Ps:当使用证书认证时,参数password可以为空。

  3. SSL/TLS证书修改 OR 上传证书到服务端。

    当使用MQTTS接入时,需要修改设备接入时鉴权的证书。可以有2种方法更改:

    方案一

    • 适用情况: 迁移前使用的是云端平台默认证书或迁移后使用的是基础版、标准版。

    • 说明:更改代码中的CA证书,证书获取连接:默认根证书

    方案二:

    • 适用情况: 设备侧使用的CA证书是自生成的(有私钥和签名证书),且使用的是企业版。

    • 说明:更改服务端证书,把设备侧携带的CA证书对应的私钥和自签名证书放到云平台服务端。

    Ps: 当设备端使用的是自定义的私钥和签名证书(双向认证),需要在平台上传对应的CA证书。具体上传方法请见:上传CA证书

  4. 检查SSL/TLS加密算法。

        在华为云中TLS的加密算法有如下限制,若SSL/TLS握手失败,可能是加密套件不一样。ps: 绝大多数的加密套件都支持以下加密算法。

       

以上就是设备端鉴权迁移需要注意的步骤,如果要使用除了消息(透传)以外的功能。需要适配对应的接口,详情见:华为云接口列表(设备侧MQTT)。

应用侧

应用侧HTTPS鉴权主要是使用ak sk 或 Token进行鉴权,由于应用侧直接更换SDK比较方便,且比较简单。建议直接使用华为云应用侧sdk。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。