如何正确为IoT Core Lambda处理器添加类型定义?
AWS IoT Core 触发Lambda的类型适配问题
AWS SDK中的IoTEvent类型仅适用于IoT Core规则配置了SQL结构化输出的场景——比如你在规则里用SQL语句将消息转换为特定格式(例如SELECT * as payload FROM 'your/topic'),此时Lambda收到的事件才会匹配IoTEvent的结构。
而你当前收到的{data: 'some string'}是IoT Core未经过SQL转换的原始触发事件,这种场景下没有现成的内置类型可以直接使用,最直接的解决方式是自定义匹配实际结构的类型:
// 自定义匹配实际事件结构的类型 interface IoTRawTriggerEvent { data: string; // 如果还有其他字段(比如timestamp、topic等),可以在这里补充 } export const handler: Handler = async (event: IoTRawTriggerEvent) => { // 你的业务处理逻辑 };
如果后续需要使用IoTEvent类型,只需调整IoT Core规则的SQL配置,让输出结构符合该类型的定义即可。
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

