1

私はデータのセットを持っています:id,name,heightおよびweightです。aws iotルールエンジンを使用してダイナモdbの複数の列を更新する方法

このデータをjson形式のawotに送信しています。そこから私は発電機のデータベースのそれぞれの列を更新する必要があるので、私はnameheightおよび重量をidに分けて更新する3つのルールを作成しました。

しかし、メッセージを送信するときに、1つの列だけが更新されています。 2つのルールを無効にすると、残りのルールは正常に機能します。したがって、私が更新するたびに、列が上書きされています。

受信メッセージから3つの列をすべて更新するにはどうすればよいですか?

答えて

1

答えは次のとおりです。これは、IoTゲートウェイルール自体では実行できません。 (ハッシュとソートキーを除いて)ルールを介して1つの列にデータを格納することができます。

これを回避する方法は、例えばメッセージを受け取り、それをテーブルに格納するpythonスクリプトを呼び出すラムダルールを作ることです。 this other SO questionも参照してください。

0

もう一つの答え:あなたのルールでは、代わりに「dynamoDBv2」アクションを使用 - あなたはDynamoDBのテーブルにMQTTメッセージの全部または一部を書き込むことができます」ペイロード内の各属性が別々に書き込まれます。 DynamoDBデータベースの列... "

dynamoDBv2アクション:ペイロード内の各属性をDynamoDBデータベース内の別の列に書き込みます。

+0

この詳細については、こちらをご覧ください。https://docs.aws.amazon.com/iot/latest/developerguide/dynamodb-v2-rule.html –

関連する問題