gpt4 book ai didi

unit-testing - 单元测试 Azure EventHub、流分析作业和存储表

转载 作者:行者123 更新时间:2023-12-03 03:11:58 24 4
gpt4 key购买 nike

我正在开发这个使用 EventHub -> Stream Analytics Job -> Storage Table/Blob 结构的项目,我想为其编写一些单元测试。

我可以测试 EventHub 发送者状态以查看查询是否具有预期行为,但如何检查数据是否正在发送到表存储,因为整个过程不会发生从我点击 EventHub 的那一刻到数据保存到存储中的那一刻,有一个相当长的延迟。

最佳答案

首先创建一个新的 Azure 表存储帐户,然后在该帐户中创建一个新的 Azure 表。在流分析作业中添加表存储的新输出。设置输出详细信息时,需要指定存储帐户、帐户 key 、表名称以及事件中的哪些列名称将代表 Azure 表分区和行键。作为一个例子,我的设置是这样的:

Output details screenshot

设置输出后,您可以创建一个简单的流分析查询,将输入事件从事件中心映射到 Azure 表输出。我还有一个名为“eventhub”的事件中心输入,具有发送/监听权限。我的查询如下所示:

SELECT
*
INTO
tableoutput
FROM
eventhub

此时,点击 Azure 门户中的“开始”按钮来运行流分析作业。要生成事件,您可以按照说明 here 进行操作。但将事件消息更改为:

string guid = Guid.NewGuid().ToString();
var message = "pk,rk,value\n" + guid + ",1,hello";
Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message);
eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message)));

要查看 Azure 表结果,请下载 TableXplorer 等工具并输入存储帐户详细信息。双击您的 Azure 表,您应该会看到类似以下内容。请记住,您可能需要定期在 TableXplorer 查询上按 F5 10-60 秒,直到数据推送完毕。当它出现时,它将如下所示:

TableXplorer Screenshot

对于编程单元测试,您需要将事件中心代码中生成的分区键/行键值推送到数据结构中,并让工作人员使用点查询轮询 Azure 表。关于 Azure 表使用情况的一个很好的概述是 here

关于unit-testing - 单元测试 Azure EventHub、流分析作业和存储表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158877/

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