Amazon web services Lambda函数多次触发

Amazon web services Lambda函数多次触发,amazon-web-services,aws-lambda,apache-camel-aws-kinesis,Amazon Web Services,Aws Lambda,Apache Camel Aws Kinesis,我试图在AWS上创建以下体系结构。 我有3台设备连接到物联网核心: -温度计 -空调 -Lambda函数 温度计应每5秒将温度发送至堆芯,然后将遥测数据发送至Kinesis stream和Kinesis Analytics 以下是谁对60秒窗口中到达的数据进行分组的查询 查询: CREATE OR REPLACE STREAM "TEMPSTREAM" ( "avg_temp" BIGINT NOT NULL, "dateTim

我试图在AWS上创建以下体系结构。

我有3台设备连接到物联网核心:

-温度计

-空调

-Lambda函数

温度计应每5秒将温度发送至堆芯,然后将遥测数据发送至Kinesis stream和Kinesis Analytics

以下是谁对60秒窗口中到达的数据进行分组的查询

查询:

CREATE OR REPLACE STREAM "TEMPSTREAM" ( 
   "avg_temp" BIGINT NOT NULL, 
   "dateTime" TIMESTAMP,
   "sender_id" VARCHAR(64));

CREATE OR REPLACE PUMP "SAMPLEPUMP" AS 
INSERT INTO "TEMPSTREAM" ("avg_temp","dateTime","
    SELECT STREAM AVG("temperature") as "avg_temp",ROWTIME,"sender"
    FROM "SOURCE_SQL_STREAM_001"
    GROUP BY "sender",STEP("SOURCE_SQL_STREAM_001".ROWTIME BY INTERVAL '60' SECOND)
    having AVG("temperature")>=27;
它产生平均温度,然后将其发送到Lambda函数

此功能仅连接到IoT Core并发送有关主题的消息。空调已订阅此同一主题,等待消息打开或关闭

问题 几乎所有这些都可以正常工作,问题是,即使查询每分钟只生成一个结果,Lambda函数也会每分钟不止接收一次,如下面的屏幕截图所示:


Lambda代码与Kinesis输出模板相同

Lambda功能的配置方式/位置?它是在Kinesis中转换数据,还是接收Kinesis的输出?另外,请您澄清您的问题(正在发生的事情+您预期应该发生的事情)。请随意编辑您的问题以添加这些详细信息。您的图像显示具有唯一请求ID的Lambda调用,并且所有调用似乎都已成功完成(它们不会超时,也不会失败)。如果它们是Lambda重试的,您应该会看到原始请求ID的重复。