Azure流分析如何处理多个输出表?

Jig*_*iya 5 json azure-stream-analytics azure-sql-database

我创建了一项 ASA 作业,还创建了一个输入别名和一个输出别名,
如下所示

我像这样编辑了查询部分

WITH 
[StreamData]
AS (
SELECT
    employee_id, 
    first_name,
    last_name,
    age,
    salary
FROM 
  [DeviceDataStream] 
WHERE
    [ObjectType] IS NULL -- Filter out device info and command responses
) 

SELECT
    employee_id, 
    first_name,
    last_name,
    age,
    salary
INTO
    [Telemetry]
FROM
    [StreamData]
Run Code Online (Sandbox Code Playgroud)

我在 SQL 数据库中创建了
这样的表

我从物联网设备的输入是这样的

{"employee_id":4,"first_name":"Joseph","last_name":"Marshal","age":34,"salary":890000}
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都工作正常。

现在我想将我的输入 JSON 存储到不同的表中,type并且我的新输入 JSON 将如下所示

{"type":"emp","employee_id":4,"first_name":"Joseph","last_name":"Marshal","age":34,"salary":890000}
Run Code Online (Sandbox Code Playgroud)

不同的字段将有不同的类型,并且根据我想将数据存储在不同的表中,所以我需要进行哪些更改以及在哪里进行更改,请指导我。谢谢

Jig*_*iya 6

嘿终于我得到了简单的解决方案,我为每个输出表创建了一个输出

像这样

我的查询是这样的

WITH 
    [StreamData]
AS (
   SELECT
    *
    FROM 
      [DeviceDataStream] 
    WHERE
       [ObjectType] IS NULL -- Filter out device info and command responses
) 

SELECT
   EventProcessedUtcTime,
    PartitionId,
    EventEnqueuedUtcTime,
    IoTHub,
    employee_id, 
    first_name,
    last_name,
    age,
    salary
INTO
    [Telemetry]
FROM
    [StreamData]
WHERE type = 'emp'   --Table 1

SELECT
    EventProcessedUtcTime,
    PartitionId,
    EventEnqueuedUtcTime,
    PersonID, 
    FirstName,
    LastName,
    City,
    height
INTO
    [TelemetryP]
FROM
    [StreamData]
WHERE type = 'prsn'  --Table 2
Run Code Online (Sandbox Code Playgroud)