我正在使用 Azure 事件中心收集基于时间的事件。将 Azure 流分析 (ASA) 连接到它。
这会导致丢失 ASA 级别的时区信息。
我确定如下:我以 JSON 格式发送数据,其中包含一个时间戳与 ISO 8601 兼容的字符串。例如:“event_timestamp”:“2016-09-02T19:51:38.657+02:00”
我通过 ServiceBus Explorer(感谢编写此工具的人)检查了该字符串是否完全按原样到达事件中心。
在流分析中,我添加了事件中心作为输入。当我在 Azure 门户中使用选项 SAMPLE DATA 时,这会导致数据包含:“event_timestamp”:“2016-09-02T17:51:38.6570000”
为什么流分析要删除时区信息???
根据 ISO 8601,未在时间戳中指定时区意味着将时间戳转换为本地时间。这是否意味着运行 Azure 资源的时区?在这种情况下如何使用异地复制?
这意味着在使用数据并将其呈现在仪表板中之后,所有时间都与运行流分析的服务器的时间相关吗?
我是否需要在 JSON 有效负载中单独添加时区信息并在之后重建它?
我的结论是,实际上 ASA 从我的数据流中删除/破坏了信息。想象一下这个 ASA 查询:SELECT * INTO [myoutput] FROM [myinput]
这会改变我的数据的内容(*)。所有看起来是带有时区信息的日期时间的字符串都将被转换。
在我看来,这是非常不受欢迎的行为。
我对这个论坛上其他人的意见很感兴趣。