gpt4 book ai didi

Azure 流分析 GetMetadataPropertyValue 不起作用

转载 作者:行者123 更新时间:2023-12-03 05:49:05 25 4
gpt4 key购买 nike

我有一个模拟物联网设备的.net应用程序。它使用 Microsoft.Azure.Devices.Client 创 build 备消息并将其发送到 iothub,然后 iothub 将它们路由到事件中心,Azure 流分析将其作为输入。

我在“模拟器”中有以下内容:

  messageToSend = new Message(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(message.Payload)))
{
MessageId = new Guid().ToString(),
ContentType = "application/json",
ContentEncoding = "utf-8",
};
messageToSend.Properties.Add("test", "test");

在我的 azure 流分析查询中,我有:

SELECT *, GetMetadataPropertyValue(InputEH, '[User].[test]') as test
INTO OutputEH
FROM InputEH
WHERE test = 'test'

由于某种原因,查询从未向 OutputEH 输出任何数据。我尝试了相同的查询,只是没有将“test”属性添加到 MessageProperties,而是将其放入消息正文中,并且如果我的查询使用“WHERE InputEh.test = 'test'”,它会按预期工作。

为了验证属性,我将输出设置为 eventhub 并在其上设置事件中心处理器,如果删除“WHERE”子句,消息就会传入。在事件中心处理器中, header 似乎已被删除,这告诉我 ASA 由于某种原因正在删除 header 。

不确定我在这里做错了什么。任何帮助将不胜感激。

最佳答案

事实证明问题出在查询中。 GetMetaDataPropertyValue() 有效,但不像 MSDN @ GetMetaDataPropertyValue 上描述的那样。我必须将该方法移到我的 where 子句中才能使其成功运行。所以现在我的查询如下:

SELECT *
INTO OutputEH
FROM InputEH as input
WHERE GetMetadataPropertyValue(input, '[User].[test]') = test

我不确定为什么在 SELECT 子句中执行此操作不起作用,但这对我有用。

关于Azure 流分析 GetMetadataPropertyValue 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com