IoT Rule から lambda を呼び出す構成かな?と想像しましたが、この構成だと仕様上 lambda で受け取れるのってデバイスが送信したステータス(の JSON データをデシリアライズしたもの)のみだったような記憶があります
(IoT はカタログスペックをちょっと調べた程度なので、私の理解が間違ってる可能性も大いにありますが)
lambda が event から直接 gzip 形式のデータを受け取るようなパターンはちょっと思い当たらないので、ご質問内容の想定システム構成は IoT と lambda の間に何かしら他のコンポーネントが挟まってるイメージでしょうか。
gzip を処理する想定なら IoT -> Firehose -> S3 -> lambda (PUT trigger) とかですかね?
そうであれば lambda では S3 のオブジェクト情報を (event 引数で) 受け取ることになるので、 GetObject して lambda 上で gzip を解凍、という流れになるのではないでしょうか。大きなペイロードを lambda で処理するときに S3 を介す自体は割とある話だと思います(データが高頻度な IoT のユースケースで S3 トリガーはあまり向かないような気もしていますが)
仮にその構成を仮定して単体テストを行うなら、 S3 Put event トリガーのサンプルイベントを拾ってきて、これをテストの入力値に流用してテストパターンを引いていく感じになると思います。ちゃんと GetObject できるかどうか/ちゃんと gzip 解凍できるかどうか/回答したデータが想定しているパース方法で処理できる内容になってるかどうか/パースできたデータを想定通りに後続に渡せるかどうか、このへんがテストケースになるんではないかと思います
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/13 02:30
2020/09/13 06:41
2020/09/13 14:09