Blob存储输入在Stream Analytics作业输出查询中返回null

时间:2017-02-27 15:35:16

标签: azure azure-storage azure-storage-blobs azure-eventhub azure-stream-analytics

我是Azure的初学者,我在Windows Azure中创建了一个流分析作业。在这里,我在工作中使用两个输入,一个是事件中心的类型,另一个是 Blob存储的类型。

以下是ASA作业的SQL查询(在SQL数据库中存储输出):

SELECT
    IP.DeviceId
    , IP.CaptureTime
    , IP.Value
    , [TEST-SAJ-DEMO-BLOB-Input].[DataType] AS TempVal -- Blob Storage Input
INTO
    [Test-Output-Demo] -- SQL Table to store output
FROM
    [TEST-SAJ-DEMO-Input] IP -- Event Hub Input

以下是我的Blob存储容器中的JSON数据(Blob存储输入[TEST-SAJ-DEMO-BLOB-Input])

{"DataType":"DEMO"}

一切正常,除了 [TEST-SAJ-DEMO-BLOB-Input]。[DataType] 返回null而不是字符串'DEMO'。

Event Hub Input发送的所有数据都存储在sql表中,并且它们在处理过程中没有错误。

感谢任何帮助...

2 个答案:

答案 0 :(得分:1)

我正在尝试进行可能的更改以解决此问题,最后它已得到解决。

Blob存储输入 [TEST-SAJ-DEMO-BLOB-Input] 配置错误,在配置路径模式我已定义, {date} {time} /Test_Demo.json 现在我刚刚用 Test_Demo.json 更改了它,它可以正常工作。

所以问题出在Blob存储输入的路径模式 ......

但我还不清楚路径模式(路径模式如何工作?),为什么“{date} {time} /Test_Demo.json”无法正常工作

答案 1 :(得分:0)

这只是一个别名问题吗?您已使用IP作为FROM别名。但随后使用了数据类型字段的完整源名称。我知道在T-SQL中这没关系。

尝试:

SELECT
    IP.DeviceId,
    IP.CaptureTime,
    IP.Value,
    IP.DataType AS TempVal -- Blob Storage Input
INTO
    [Test-Output-Demo] -- SQL Table to store output
FROM
    [TEST-SAJ-DEMO-Input] IP -- Event Hub Input

同时检查流作业的输入是否设置为JSON编码。