AWS IoT Rule的SELECT功能不能用于以“hex”字符串作为JSON键的情况。
创始人
2024-11-16 11:30:35
0

在AWS IoT Rule中,SELECT功能用于从JSON消息中选择特定字段或子字段。然而,SELECT功能无法直接用于以“hex”字符串作为JSON键的情况。这是由于SELECT功能使用的是JSONPath语法,而JSONPath不支持以非字符串形式的键。

为了解决这个问题,您可以使用AWS IoT Rule中的自定义转换功能来转换消息,使其符合JSONPath语法。下面是一个示例代码,演示如何使用AWS IoT Rule和Lambda函数来解决这个问题:

  1. 首先,在AWS IoT控制台创建一个新的规则,并将其与您的设备或主题相关联。

  2. 在规则的“规则查询语句”部分,输入以下代码:

SELECT * FROM 'your/topic' WHERE yourHexKey IS NOT NULL

这条规则查询语句选择了具有非空 yourHexKey 的消息。

  1. 在规则的“转换”部分,选择“添加操作”并选择“函数”。

  2. 在“函数处理”部分,选择“自定义函数”。

  3. 在“自定义函数”部分,选择“创建新函数”。

  4. 在新函数的“运行时”下拉菜单中选择“Node.js 12.x”。

  5. 在代码编辑器中,输入以下代码:

exports.handler = async (event, context) => {
    const newPayload = {};
    const payload = JSON.parse(event.payload);
    
    Object.keys(payload).forEach(key => {
        if (key.startsWith('hex:')) {
            const newKey = Buffer.from(key.split(':')[1], 'hex').toString('utf8');
            newPayload[newKey] = payload[key];
        } else {
            newPayload[key] = payload[key];
        }
    });
    
    event.payload = JSON.stringify(newPayload);
    return event;
};

这段代码将消息中以“hex:”开头的键转换为对应的字符串键,并更新消息的 payload。

  1. 保存函数并返回到规则页面。

  2. 在规则的“转换”部分,选择刚刚创建的函数。

  3. 保存规则并启用它。

现在,当您的设备发布消息时,AWS IoT Rule将应用规则查询语句选择特定的消息,然后使用自定义函数将包含“hex:”键的消息转换为以字符串键表示的消息。您可以在规则的“操作”部分添加其他操作,如将转换后的消息发送到其他服务或将其存储到数据库中。

注意:以上示例代码仅适用于以“hex:”开头的键,您可以根据自己的需求进行修改。

相关内容

热门资讯

据统计!pokemomo辅助软... 据统计!pokemomo辅助软件,八张透视辅助,演示教程(有挂细节)1、全新机制【八张透视辅助ai辅...
明白辅助挂!红龙poker作弊... 明白辅助挂!红龙poker作弊指令,奇迹脚本辅助,大纲教程(有挂方针)1、游戏颠覆性的策略玩法,独创...
目前!德州圈脚本,德普之星辅助... 目前!德州圈脚本,德普之星辅助器,积累教程(真的有挂)1、操作简单,无需德普之星辅助器手机版透视脚本...
相较于以往!智星菠萝有挂吗,来... 相较于以往!智星菠萝有挂吗,来来拼十辅助免费辅助,方针教程(存在有挂)1、首先打开来来拼十辅助免费辅...
据通报!德扑之心免费透视,广东... 据通报!德扑之心免费透视,广东雀神挂机怎么样,步骤教程(有挂方略)1、该软件可以轻松地帮助玩家将广东...
有玩家发现!aapoker真的... 有玩家发现!aapoker真的假的,闲聚辅助器,绝活儿教程(讲解有挂)1)闲聚辅助器免费钻石:进一步...
方法辅助挂!德州局脚本,博雅红... 方法辅助挂!德州局脚本,博雅红河西元红河挂,方式教程(有挂讲解)1、博雅红河西元红河挂免费辅助多个强...
有玩家发现!扑克之星辅助,jj... 有玩家发现!扑克之星辅助,jj斗地主外卦,讲义教程(有挂分析)1、进入到jj斗地主外卦是否有挂之后,...
黑科技辅助挂!hhpoker辅... 黑科技辅助挂!hhpoker辅助,陕麻圈辅助开挂软件,妙招教程(有挂详情);1、下载好陕麻圈辅助开挂...
为切实保障!epoker透视底... 为切实保障!epoker透视底牌,哈局八张辅助,总结教程(有挂方略)1、该软件可以轻松地帮助玩家将哈...