You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS IoT Core规则动作中使用主题通配符的值?

解决方案

你可以通过AWS IoT Core规则SQL的内置函数获取原始主题并提取通配符对应的值,无需在payload中冗余携带序列号,具体步骤如下:

1. 在规则SQL中提取通配符对应的值

AWS IoT Core规则SQL支持topic()内置函数,用于获取消息的原始主题。结合字符串处理函数,就能提取出主题中+通配符对应的序列号:

方法一:使用split()函数

如果主题格式固定为equipment/{serial}/counters/xxx,可以按/分割主题字符串,取第2个元素(索引从0开始):

SELECT 
  timestamp,
  split(topic(), '/')[1] AS serial_number
FROM 'equipment/+/counters/#'

方法二:使用regexp_extract()函数

如果主题格式有变化,正则表达式更灵活,匹配equipment/之后、下一个/之前的内容:

SELECT 
  timestamp,
  regexp_extract(topic(), 'equipment/([^/]+)/counters/.+', 1) AS serial_number
FROM 'equipment/+/counters/#'

2. 在TimeStream写入动作中引用提取的字段

配置TimeStream写入动作时,无论是设置维度(Dimensions)还是记录属性(Record Properties),都可以直接选择SQL中定义的serial_number字段:

  • 比如在维度配置中,将serial_number作为维度值关联;或者将其作为TimeStream记录的属性字段直接写入。

这样就能安全地将主题中的序列号传递到TimeStream,避免了在payload中携带敏感信息的风险。

内容的提问来源于stack exchange,提问作者Jurgen Devlieghere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:01:41