受け取ったパラメータに基づいてIoTトピックを使用して、関連するIoTデバイスのコレクションにメッセージを公開するAWSラムダ関数(APIゲートウェイ経由のAPI呼び出しによってトリガされる)があります特定のIoTデバイスを一意に識別するシリアル番号)。私はboto3のIoTデータプレーンクライアントメソッドpublish()を使ってこれを行います。この同じラムダ関数を同じIoTトピックに登録させて、IoTデバイスからの応答を受け取ることができる方法はありますか?AWSラムダ内のAWS IoTトピックを購読する
IoTメッセージがラムダをトリガするための規定された方法は、ラムダを呼び出すIoTルールアクションを作成することですが、これは実際には私にとってはうまくいきません。私は、IoTデバイスの応答をリッスンし、その応答に基づいて外部の呼び出し元にHTTP応答を返すために、元のラムダ(APIゲートウェイに外部API呼び出しによってトリガーされたラムダ)が必要です。これは、IoTデバイスがIoTトピックで応答したときにトリガーされる別個のラムダであれば達成可能ではないようです。これを行う方法に関するアイデア?
ありがとうございます - 元のラムダである必要がありますそれ自体は内部状態のためではなく、それはAPIゲートウェイ経由でラムダにHTTP POST要求を送信する外部クライアントがHTTP応答としてIoTデバイスの応答を取得する方法です(そのHTTP要求に対して)。 IoTデバイスの応答が異なるラムダをトリガする場合、元のラムダはレスポンスを返すことができません。つまり、外部クライアントのHTTPリクエストは応答も空の応答も得ません。明確化のために – Jupiterese
感謝します。あなたはどんなタイプの応答を待っていますか?デバイスとクライアントの間にWebソケットが必要なように聞こえます。 –
ありがとう、私はあなたがそこにいるかもしれないと思います。私は現在、IoTデバイスの応答をSQSキューに書き込むIoTルールと、それが消費するメッセージのLambdaポーリングを行い、APIゲートウェイを経由してレスポンスを構築して送信することによって、それをkludgingしていますHTTP POST要求を送信した外部クライアント。 – Jupiterese