Lambda的AWS IoT事件Java类

时间:2016-05-05 21:07:44

标签: java amazon-web-services aws-lambda aws-iot

  • 我正在从AWS IoT调用AWS Lambda函数。
  • 我正在用Java编写我的Lambda函数
  • 根据此链接http://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html?shortFooter=true,它说: 规则引擎 - 提供消息处理和与其他AWS服务的集成。您可以使用基于SQL的语言从消息有效负载中选择数据,处理数据,并将数据发送到其他服务,例如Amazon S3,Amazon DynamoDB和AWS Lambda。您还可以使用消息代理将消息重新发布给其他订阅者。
  • 因此,此链接明确指出我的lambda函数不需要订阅它,并且它可以获取消息有效负载数据。
  • 处理程序函数如何工作是你传递输入和输出类型,在我的情况下输入类型是我想从我的IoT主题发送的信息,例如" IoTEvent" (类似于S3Event,SNSEvent等)。
  • 在搜索https://github.com/aws/aws-lambda-java-libs/tree/master/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events提供的所有活动类时,我找不到物联网的事件类。
  • 我想了解有关支持获取有效负载的所有方法的类的信息。

1 个答案:

答案 0 :(得分:0)

没有一般的IoTEvent。有效负载将以JSON格式发送到lambda。因此,在lambda中创建一个POJO类,其变量与有效负载相同。使用您的POJO类作为Lambda函数的输入。 AWS Lambda会自动将JSON有效负载映射到您的POJO类。检查此链接以使用POJO进行Lambda输入。 https://docs.aws.amazon.com/lambda/latest/dg/java-handler-io-type-pojo.html

这是我能够使用Java Lambda实现此功能的唯一方法。只需确保JSON和POJO匹配。