【问题标题】:Return only key value on AWS IOT rule to send date to DynamoDB?仅返回 AWS IOT 规则上的键值以将日期发送到 DynamoDB?
【发布时间】:2020-06-03 09:37:48
【问题描述】:

我正在开展一个项目,我将一些传感器数据发布到 AWS IOT 中的 MQTT 主题。我有规则将该数据插入到 DynamoDB 表中。

我发布的数据如下:

{
  "id": 1,
  "timestamp": 1591132839,
  "data": 71
}

由于我只需要数据列中“数据”键的值,因此我的 SQL 查询是:

SELECT data FROM 'soil-moisture/#'

我希望我的表中的值只是值,例如71,但我得到了:

{ "data" : { "N" : "71" } }

我尝试更改查询,但得到以下结果:

data.N 返回 {} SELECT VALUE data... 在 data_raw 列中返回一些随机字符串。

如何只将“数据”键的值插入到我的表中?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    此元数据是 DynamoDB 存储项目的方式。您无法删除数据类型,因为它是自动应用的。

    可能的数据类型记录在https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptorshttps://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html

    来自第一个链接:

    低级 DynamoDB API 协议要求每个属性都附带一个数据类型描述符。数据类型描述符是告诉 DynamoDB 如何解释每个属性的标记。

    一些 DynamoDB SDK 将这些类型抽象出来,因此您无需处理它们。例如Javascript DocumentClient

    【讨论】:

    • 我可能没有正确解释。这是我得到的:imgur.com/a/Fy5fmZc“数据”列中的条目是地图数据类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2019-05-03
    • 2018-11-26
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    相关资源
    最近更新 更多