【问题标题】:Saving JSON data to DynamoDB将 JSON 数据保存到 DynamoDB
【发布时间】:2016-07-06 03:52:40
【问题描述】:

我是 AWS 方面的新手,在 AWS IOT 项目中工作,所有设备都在那里更新状态并将 json 发送到 AWS IOT。有一个规则可以将数据保存到 dynamodb。我在 dynamodb 中创建了一个表。 我正在向 AWS 发送以下数据,

{
  "state": {
  "reported": {
      "color": "Blue",
 "mac":"123:123"
  }
 }
}

但在 Dynamodb 上,它保存了三个项目,第一个用于状态,另一个用于当前状态,一个用于元数据。 我只想保存即将到来的状态数据。有什么条件我必须为此写。

【问题讨论】:

  • 您希望它如何保存在 DynamoDB 上?
  • 现在,我将三个项目保存在 db 中,一个以“状态”开头的有效负载,另一个以“当前”开头,第三个以“元数据”开头。我只想要带有状态存储在 db 中的有效负载。
  • 你能解释一下你需要的表结构吗?
  • 我正在如上所述发送 mqtt 数据而在 db 端我得到了三个项目,它们是 1.{ "key": "things", "payload": { "state": { "reported": { "color": "Blue", "mac": "123:123" } } }, "timestamp": "1467700865704" }
  • 第二个元素是 2.{ "key": "things", "payload": { "metadata": { "reported": { "color": { "timestamp": 1467700865 }, "mac": { "timestamp": 1467700865 } } }, "state": { "reported": { "color": "Blue", "mac": "123:123" } }, "timestamp": 1467700865, "version": 1 }, "timestamp": "1467700865720" }

标签: json amazon-web-services amazon-dynamodb aws-iot


【解决方案1】:

与其创建直接写入 DynamoDB 的规则(恕我直言,这不是一个好习惯),不如让规则触发 Lambda 函数,然后处理有效负载(甚至可能进行一些错误检查)并写入 DynamoDB。

我不相信有任何方法可以配置您希望数据如何映射到 DynamoDB,因此您需要像 lambda 这样的东西来映射它。

从长远来看,如果您需要更改架构(甚至更改数据库),您可以更改 lambda 以执行其他操作。

【讨论】:

  • 直接写入 DynamoDB 是最佳实践,并且仅在设计无服务器以进行扩展时才实践。 API Gateway 支持映射数据。
  • @sudosoul 你读过OP吗?这是一个物联网问题。不是 API 网关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-06
  • 2019-11-16
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
相关资源
最近更新 更多