Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 如何从单个JSON(IOT HUB)将流分析输出分成多行_Azure_Azure Stream Analytics_Azure Iot Hub - Fatal编程技术网

Azure 如何从单个JSON(IOT HUB)将流分析输出分成多行

Azure 如何从单个JSON(IOT HUB)将流分析输出分成多行,azure,azure-stream-analytics,azure-iot-hub,Azure,Azure Stream Analytics,Azure Iot Hub,我有来自iot hub的数据,需要输入SQL表。 iot hub的JSON数据如下所示- [ { “设备ID”:“1” },{ “设备ID”:“2” } ] 桌子看起来像这样 设备ID |描述|值 1 |停车1 | 10 1 |停车2 | 20 1 |停车3 | 30 1 |停车4 | 40 2 |停车1 | 10 2 |停车2 | 20 需要地板的答案吗- 因此,我需要在stream analytics中编写查询,以便查询解析JSON数据并将其放在表的4行中,如上所述。让我知道需要编写

我有来自iot hub的数据,需要输入SQL表。 iot hub的JSON数据如下所示-

[ { “设备ID”:“1”

},{ “设备ID”:“2”

} ]


桌子看起来像这样


设备ID |描述|值


1 |停车1 | 10

1 |停车2 | 20

1 |停车3 | 30

1 |停车4 | 40

2 |停车1 | 10

2 |停车2 | 20


需要地板的答案吗-

  • 因此,我需要在stream analytics中编写查询,以便查询解析JSON数据并将其放在表的4行中,如上所述。让我知道需要编写什么查询来获取表中每一行的每个键

  • 当表中的设备ID匹配时,还应在表中插入Parking1、Parking2、Parking3和Parking4的值

  • 此外,每次都应更新表中的值,而不是插入

  • 提前谢谢

    浏览JSON时,“Parking1”、“Parking2”、“Parking3”、“Parking4”应该是表列

    您的select查询应该是

        SELECT DeviceID, Parking, Parkign2, Parking3, Parking4 
        INTO <SQLOutput>
        FROM <InputStream> 
    
    选择设备ID、驻车、驻车信号2、驻车3、驻车4
    进入
    从…起
    
    此外,由于ASA作业的输入(iot hub)和输出(SQL Azure)不同,因此只能插入数据而不能更新。

    浏览JSON时,“Parking1”、“Parking2”、“Parking3”、“Parking4”应为表列

    您的select查询应该是

        SELECT DeviceID, Parking, Parkign2, Parking3, Parking4 
        INTO <SQLOutput>
        FROM <InputStream> 
    
    选择设备ID、驻车、驻车信号2、驻车3、驻车4
    进入
    从…起
    

    此外,由于ASA作业的输入(iot hub)和输出(SQL Azure)不同,因此只能插入数据,而不能更新数据。

    在发送数据的方式上是否有任何灵活性?如果可以将停车信息作为单独的记录发送,则可以使用GetRecordProperties()将其转换为所需的形状。ASA不支持SQL输出的更新,如果可以保留所有数据,您可以添加时间戳列并编写一个视图来获取deviceId、parkingId组合的最新值。您在发送数据的方式上有任何灵活性吗?如果可以将停车信息作为单独的记录发送,则可以使用GetRecordProperties()将其转换为所需的形状。ASA不支持SQL输出的更新,如果可以保留所有数据,则可以添加时间戳列并编写视图以获取deviceId、parkingId组合的最新值。
        SELECT DeviceID, Parking, Parkign2, Parking3, Parking4 
        INTO <SQLOutput>
        FROM <InputStream>