/ #AWS #AWS_IoT 

AWS IoTでJSON以外の文字列を送る

もくじ

今回作るもの

はい👻

AWS IoTでJSON以外の形式でデータを送ってLamdaで取得する! です。

全体の構成は自体は以前の記事と全く一緒です。 ただしAWS IoTのルールクエリステートメントLamdaが変わります。

さて、

使えるところは過去記事を参照していただこうと思います笑 ゴメンナサイ……

構成とは別に、実装方法ですが、、、

IoTルールでJSONではないメッセージをbase64にエンコードしてLamdaに渡します。 そしてLamdaではメッセージをdecodeして取得する、、、そんな流れですね笑

では 作っていきましょう👻

ステップ1

以前の記事のステップ1のLamdaのソースコードだけ下記に変更してください笑

コードはこちら↓

import base64

def lambda_handler(event, context):
    message = base64.b64decode(event['message'])
    print(message.decode('utf-8'))
    return message

コードの意味としてはeventからmessageというキーを取得して、それをbase64でデコード。さらにそれをUTF-8でデコードしてログに吐き出します。

ステップ2

以前の記事のステップ2のルールクエリステートメントを書き換えます。下記な感じです。

SELECT {'message': encode(*, 'base64')} FROM 'AAAA/BBBB/CCCC'

ステップ3

以前の記事のステップ3の下記な感じでテストをします。

「トピックに発行」をクリックして次へ

ステップ4

CloudWatchのログで、下記のような文字列が確認できれば成功です👻

はい👻

お疲れさまでした!

Author

Sisii

インフラが好きなエンジニアぶってるなにか