2016-05-05 39 views
1
  • AWS IoTからAWSラムダ関数を呼び出しています。
  • が、私はこのリンクhttp://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html?shortFooter=trueによるJavaの
  • で私のラムダ関数を書いています、それは言う: ルールエンジンは - 他のAWSサービスとメッセージ処理との統合を提供します。 SQLベースの言語を使用して、メッセージペイロードからデータを選択し、データを処理し、Amazon S3、Amazon DynamoDB、AWS 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から利用可能なすべてのイベントクラスを検索すると、IoTのイベントクラスが見つかりません。
  • ペイロードを取得するためのすべてのメソッドをサポートするクラスについての情報を得たいと思います。
+0

私はあなたと同じ状況にいますか?あなたはそれを達成するための解決策を見つけましたか? – alifirat

答えて

0

一般的なIoTEventはありません。ペイロードはJSON形式でラムダに送られます。ペイロードと同じ変数でラムダのPOJOクラスを作成します。ラムダ関数の入力としてPOJOクラスを使用します。 AWS Lambdaは自動的にJSONペイロードをPOJOクラスにマッピングします。ラムダ入力用のPOJOの使用については、このリンクをチェックしてください。 https://docs.aws.amazon.com/lambda/latest/dg/java-handler-io-type-pojo.html

これは私がJava Lambdaでこの作業を行うための唯一の方法です。 JSONとPOJOが一致していることを確認してください。