【问题标题】:Stream Analytics -> Master - Details流分析 -> 主 - 详细信息
【发布时间】:2017-02-24 10:55:42
【问题描述】:

我正在尝试创建一个 Azure 流分析选择,它将以这种格式处理 json:

{
"deviceid": "02060014440133F0",
"receivedat": "2017-02-24T10:16:50.9081833",
"messageid": "286eded6-dff1-4f6b-85be-ce4c3c050b69",
"telemetryvalues": [
  {
    "Name": "JUMPER1_2",
    "value": "0",
    "id": "9be40e7b-7589-4d88-af69-9a00bf71e203",
    "telemetryid": "a0259ae9-de01-47fb-9c0c-01fc72c85621",
    "scaledvalue": "0"
  },
  {
    "Name": "JUMPER1_2",
    "value": "2",
    "id": "837c4645-d13a-402f-9cf1-ac36b6bedef8",
    "telemetryid": "a0259ae9-de01-47fb-9c0c-01fc72c85621",
    "scaledvalue": "0,66"
  },
....
}

并将其插入到两个表中(主 - 详细)

我已经创建了两个表:

CREATE TABLE [dbo].[Telemetry](
  [Id] [uniqueidentifier] NOT NULL CONSTRAINT [DF_Telemetry_Id] DEFAULT (NEWSEQUENTIALID()) NOT NULL,
  [DeviceId] [varchar](20) NULL,
  [MessageId] [varchar](40) NULL,
  [ReceivedAt] [datetimeoffset](7) NOT NULL,
  [CreatedAt] [datetimeoffset](7) DEFAULT (sysutcdatetime()) NOT NULL

CREATE TABLE [dbo].[TelemetryValues](
  [Id] UNIQUEIDENTIFIER CONSTRAINT [DF_TelemetryValue_Id] DEFAULT (NEWSEQUENTIALID()) NOT NULL,
  [TelemetryId] VARCHAR(40),
  [Name] VARCHAR(28),
  [Value] VARCHAR(255) NOT NULL,
  [ScaledValue] VARCHAR(255) NOT NULL,
  [CreatedAt] [datetimeoffset](7) DEFAULT (sysutcdatetime()) NOT NULL

我的 SA 很简单:

SELECT 
    *
INTO
    [TelemetryData]
FROM [DeviceData]

“TelemetryData”指向我的“Telemetry”SQL 表,“DeviceData”指向带有数据的 eventthub。

但是我没有将任何数据放入我的表中......所以我不确定 SA 是否可以插入两个表中,或者我做错了什么......

注意如果我尝试将数据存储在 blob 存储中,那么数据就会通过,所以这不是因为缺少数据。

【问题讨论】:

    标签: master-detail azure-stream-analytics


    【解决方案1】:

    您可以创建多个表作为 ASA 作业的多个输出。但是,我看到您的查询仅写入一个输出 (TelemetryData)。

    此外,据我所知,SQL 表中没有写入任何数据,因为您的查询架构的结果与表的架构不匹配。

    例如SELECT * 的输出将是 deviceid、receiveat、messageid、telemetrydata。

    但是,您创建的表具有不同类型的不同架构。

    当您使用 blob 时,它曾经可以正常工作,因为 blob 不需要固定架构。但是对于 SQL,模式和类型应该完全匹配。

    谢谢, JS - Azure 流分析

    【讨论】:

    • 问题更多的是是否可以从一个 SELECT 插入两个表(主 - 详细信息),以便两个表之间的外部约束不会失败
    猜你喜欢
    • 1970-01-01
    • 2015-06-03
    • 2010-12-06
    • 1970-01-01
    • 2013-05-12
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    相关资源
    最近更新 更多