微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Azure SQL 数据库中存储 D2C 消息

如何解决在 Azure SQL 数据库中存储 D2C 消息

我正在尝试将从 Cloudrail.Box 接收的传感器读数作为 JSON 负载存储到 Azure sql 数据库中。 我目前使用的边缘函数根据设置的频率分批输出消息(如下所示)。 { “Temp_V_Raw”:0.789, “Pressure_V_Raw”:0.006, “Temp_C”:23.67, "Pressure_Bar": 1.8450718792014,“时间戳”:1617990070392, “日期”:“2021 年 4 月 9 日星期五 19:41:10 GMT+0200(CEST)” }

如何以表格格式将其存储在 Azure sql 数据库中?

解决方法

建议您创建一个存储过程来处理json数据,然后通过存储过程将JSON数据传递到Azure SQL数据库中。

参考存储过程示例:

CREATE TABLE dbo.SystemRecord(
    RecordedDateTime        datetime2(0) NOT NULL,RecordedDateTimeLocal   datetime2(0) NOT NULL,CpuPctProcessorTime     smallint     NOT NULL,MemAvailGbytes          smallint     NOT NULL
)

CREATE PROCEDURE dbo.InsertSystemRecordData
 
@json NVARCHAR(max)

AS
BEGIN
 
INSERT INTO dbo.SystemRecord (
  [RecordedDateTime],[RecordedDateTimeLocal],[CpuPctProcessorTime],[MemAvailGbytes])
 
    SELECT
        RecordedDateTime,RecordedDateTimeLocal,CpuPctProcessorTime,MemAvailGbytes
    FROM OPENJSON(@json)
    WITH (
      RecordedDateTime      DATETIME2(0) '$.dateTime',RecordedDateTimeLocal DATETIME2(0) '$.dateTimeLocal',CpuPctProcessorTime   SMALLINT     '$.cpuPctProcessorTime',MemAvailGbytes        SMALLINT     '$.memAvailGbytes'
    ) AS jsonValues
 
END

EXEC dbo.InsertSystemRecordData @json ='{"dateTime":"2018-03-19T15:15:40.222Z","dateTimeLocal":"2018-03-19T11:15:40.222Z","cpuPctProcessorTime":"0","memAvailGbytes":"28"}'

您可以参考这些链接:

  1. Pass json_value into stored procedure
  2. How to Insert JSON Data into SQL Server Database

HTH。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。