规则引擎转发自定义productkey等问题。

1. 规则引擎从现在的网页端来看,我们在规则中必须指明被转发的productkey(仅考虑物联网topic之间的转发),
比如我们有两个品牌的设备和两个app,我们的需求是一条转发规则转发两个app,在传输的json字符串中,我们其实会传输app对应的productkey,所以,我们想咨询,是否可以使用通配符指定productkey建立规则(样例中的规则都只能用通配符选择devicename)
2. 我们已经可以根据IOT的OTA文档进行升级。但是遇到两个问题:1. 我们上传的process 如何在app端获取?如果不可以,是否需要我们自己再另建立一条转发规则,进行升级进度传输?2. 根据最新的文档,ota升级由之前的3条topic变为了四条,但是对于第四条,我们没有看到样例程序和解释说明。能否更新更详细的解释。

展开
收起
1702598273722273 2018-08-23 11:06:10 1280 分享 版权
阿里云 AI 助理回答

针对您的问题,我将分别进行解答:

1. 规则引擎中使用通配符指定ProductKey

阿里云物联网平台的规则引擎功能允许您根据消息内容来转发数据到不同的目标。目前,规则引擎在创建规则时确实支持使用通配符来匹配设备名(devicename),但直接使用通配符来动态指定productKey的功能并不直接支持。

如果您希望一条规则能够同时转发消息给属于不同productKey的应用,一个可行的方案是通过编写自定义脚本来实现更灵活的数据处理逻辑。具体来说,您可以考虑以下步骤:

  • 利用SQL表达式:在规则引擎的SQL表达式中,虽然不能直接用通配符匹配productKey,但可以根据消息内容中的app标识(比如您提到的传输的JSON字符串中的app对应的productKey)来构建条件判断。

  • 引入Function Compute:如果SQL表达式的灵活性不足以满足需求,可以结合阿里云的Function Compute服务。创建一个函数,该函数作为规则引擎的动作,接收来自物联网平台的消息,然后根据消息内容中的逻辑(如app标识)决定实际的目标productKey,并执行相应的转发操作。

2. OTA升级相关问题

关于获取上传的process

  • 获取升级进度: 在OTA升级过程中,设备端会通过特定的topic向云端报告升级进度,例如使用/ota/update/status/report这个主题。应用端(App)若想获取升级进度,通常需要订阅这个主题或者通过调用阿里云物联网平台的API来查询设备状态。直接从App端“获取”上传的process可能不太直观,因为OTA过程主要是在设备与云端之间进行的。您可以通过监听或查询这些状态更新来间接了解升级进度。

第四条OTA主题的解释说明

对于最新的OTA升级流程中新增的第四条主题,这可能是为了增强OTA升级的管理能力或反馈机制。尽管我没有具体的主题名称和样例程序,但基于常规的OTA流程扩展,新增的主题可能涉及更细致的状态跟踪、确认或是错误报告等环节。建议查阅阿里云物联网平台的最新文档或联系官方技术支持获取最准确的信息和示例代码。

如果文档中没有提供足够的信息,您可以访问阿里云物联网平台的帮助中心或开发者论坛,那里可能会有其他开发者分享的经验或官方团队的最新回复。此外,直接提交工单至阿里云客服也是一个快速获得详细帮助的方法。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

物联网领域前沿技术分享与交流

收录在圈子:
+ 订阅
致力于实现万物互联的美好世界,为生态合作伙伴提供基于云计算、大数据、人工智能、云端一体化、安全的物联网基础平台和内容服务平台。
还有其他疑问?
咨询AI助理