单元测试 Azure EventHub、流分析作业和存储 Table
Unit Testing Azure EventHub, Stream Analytics Job and Storage Table
我正在处理这个使用 EventHub -> Stream Analytics Job -> Storage Table / Blob
结构的项目,我想为它编写几个单元测试。
我可以测试 EventHub
发件人状态以查看查询是否具有预期的行为,但是我如何检查数据是否正在发送到 Table 存储,因为整个过程没有'立即发生,从我点击 EventHub 到数据被保存在存储中有相当长的延迟。
首先创建一个新的 Azure Table 存储帐户,然后在该帐户中创建一个新的 Azure table。在您的流分析作业中为 Table 存储添加一个新输出。设置输出详细信息时,您需要指定存储帐户、帐户密钥、table 名称,以及事件中的哪些列名称将代表 Azure Table 分区和行键。例如,我这样设置:
设置输出后,您可以创建一个简单的流分析查询,将事件中心的输入事件映射到 Azure Table 输出。我还有一个名为 'eventhub' 且具有 Send/Listen 权限的事件中心输入。我的查询如下所示:
SELECT
*
INTO
tableoutput
FROM
eventhub
此时点击 Azure 门户中的 'Start' 按钮以 运行 流分析作业。要生成事件,您可以按照说明进行操作 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 Table 结果,请下载 TableXplorer 等工具并输入存储帐户详细信息。双击您的 Azure Table,您应该会看到如下所示的内容。请记住,您可能需要定期在 TableXplorer 查询上按 F5 10-60 秒,直到数据被推送。当它出现时,它将如下所示:
对于编程单元测试,您需要将事件中心代码中生成的分区键/行键值推送到数据结构中,并让工作人员使用点查询轮询 Azure Table。关于 Azure Table 用法的一个很好的概述是 here。
我正在处理这个使用 EventHub -> Stream Analytics Job -> Storage Table / Blob
结构的项目,我想为它编写几个单元测试。
我可以测试 EventHub
发件人状态以查看查询是否具有预期的行为,但是我如何检查数据是否正在发送到 Table 存储,因为整个过程没有'立即发生,从我点击 EventHub 到数据被保存在存储中有相当长的延迟。
首先创建一个新的 Azure Table 存储帐户,然后在该帐户中创建一个新的 Azure table。在您的流分析作业中为 Table 存储添加一个新输出。设置输出详细信息时,您需要指定存储帐户、帐户密钥、table 名称,以及事件中的哪些列名称将代表 Azure Table 分区和行键。例如,我这样设置:
设置输出后,您可以创建一个简单的流分析查询,将事件中心的输入事件映射到 Azure Table 输出。我还有一个名为 'eventhub' 且具有 Send/Listen 权限的事件中心输入。我的查询如下所示:
SELECT
*
INTO
tableoutput
FROM
eventhub
此时点击 Azure 门户中的 'Start' 按钮以 运行 流分析作业。要生成事件,您可以按照说明进行操作 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 Table 结果,请下载 TableXplorer 等工具并输入存储帐户详细信息。双击您的 Azure Table,您应该会看到如下所示的内容。请记住,您可能需要定期在 TableXplorer 查询上按 F5 10-60 秒,直到数据被推送。当它出现时,它将如下所示:
对于编程单元测试,您需要将事件中心代码中生成的分区键/行键值推送到数据结构中,并让工作人员使用点查询轮询 Azure Table。关于 Azure Table 用法的一个很好的概述是 here。