【问题标题】:Is there any way to reach raw JSON data through Stream Analytics Job into Azure SQL?有没有办法通过流分析作业将原始 JSON 数据传输到 Azure SQL 中?
【发布时间】:2021-08-09 13:42:32
【问题描述】:

我有一些传感器以 JSON 格式的字符串向 Azure IoT Hub 发送数据。到目前为止,我通过 Hub Trigger 上的 Function Apps 处理数据。

现在我正在尝试寻找方法,如何通过 Azure 流分析作业将“原始”JSON 数据保存到 Azure SQL 数据库中。问题是“原始”数据没有设置,SA 总是将输入 JSON 解析(反序列化)到数据字段中。我只想获取“原始” JSON 并将其保存到数据库中。

让我通过例子来解释这个...... 原始 JSON(由 IoT 中心捕获)如下所示:

{
"gtwid": "0013A200419F2BAA",
"devid": "0013A200418975CC",
"telemetry": {
  "t1": {
    "id": "a698ab4d2001",
    "avg": 26,
    "max": 26,
    "min": 26
  }
}

当我尝试在 SA 中使用以下查询代码时,我得到了部分想要的结果,但仅适用于“遥测”树:

WITH s AS
(
SELECT
        gtwid
      , devid 
      , telemetry.*      
FROM
    [iothub]
)

SELECT gtwid,devid,gtwtime,timestamp,t1 INTO [db] FROM s

它在 db 中产生这个结果:

RecID  gtwid             devid             t1
1      0013A200419F2BAA  0013A200418975CC  {"id":"a698ab4d2001","avg":26,"max":26,"min":26}

我想得到这样的结果:

RecID  JsonValue
1      {"gtwid": "0013A200419F2BAA","devid": "0013A200418975CC","telemetry": {"t1": {"id": "a698ab4d2001","avg": 26,"max": 26,"min": 26}}

请问我该怎么做?

【问题讨论】:

    标签: azure azure-sql-database azure-stream-analytics


    【解决方案1】:

    目前无法绕过反序列化。

    相反,您可以使用JavaScript UDF 重新生成原始有效负载。这显然不是一回事,但它可以提供帮助,具体取决于您需要它的原因。

    【讨论】:

      猜你喜欢
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      • 2013-08-17
      • 1970-01-01
      • 2011-07-17
      • 2021-09-25
      • 1970-01-01
      相关资源
      最近更新 更多