【问题标题】:different kind of events handled by one event hub由一个事件中心处理的不同类型的事件
【发布时间】:2018-07-20 10:39:09
【问题描述】:

我正在使用 Azure 的流分析来创建实时仪表板。为了提供流分析作业,我有一个事件中心作为输入。

问题是;我有三种不同类型的事件(交互事件、会话事件、用户事件),每一种都有不同的数据和结构。我必须将它们组合到 Stream Analytic 的查询部分,并且我想用一个事件中心来完成。到目前为止,我将所有事件发送到事件中心,但我还没有找到一种方法来区分一种事件与另一种事件以便正确处理它们。

我阅读了“事件中心的消费者组”,但我不知道如何使用它们来处理具有不同“消费者组”的不同类型的事件,以及是否可以在流分析作业中使用它。

【问题讨论】:

  • 如果您无法将一种事件与另一种事件区分开来,消费者群体将无济于事。您应该在发送到事件中心的数据中包含一个属性,或者使用其他方式进行区分。您的活动看起来如何?
  • 事件是 JSON 格式,它们有不同的字段我认为我可以通过字段来区分它们,不是吗?我怎样才能区分它们?以及如何将代码添加到事件中心以区分它们?
  • 如果它们有不同的字段,那么您确实应该能够区分它们。你能显示你到目前为止的查询,以便我们有更多的工作要做吗?目前我不清楚这意味着什么:我必须将它们组合到 Stream Analytic 的查询部分中
  • 您好,如果每种类型的事件具有不同的结构,您确实可以在查询中区分它们(例如,使用 WHERE 子句查看字段是否为 NULL)。如果您在查询方面需要任何帮助,请告诉我。
  • 我做到了,我可以区分它们,查询; WITH CXUSER AS (SELECT * FROM "DemoDashboard" WHERE ClrType IS NOT NULL), CXSESSION AS (SELECT * FROM "DemoDashboard" WHERE UserAgent IS NOT NULL), CXINTERACTION AS (SELECT * FROM "DemoDashboard" WHERE EventType IS NOT NULL) select * FROM CXINTERACTION LEFT JOIN CXSESSION ON (CXINTERACTION.SessionId = CXSESSION.Id and DATEDIFF(minute, CXSESSION, CXINTERACTION) BETWEEN 0 and 10)

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


【解决方案1】:

感谢您的回答。

最后,事件中心不是不能处理不同类型事件的。无法处理不同类型事件的是 Azure 流分析作业(ASA 作业)。

这是我从微软支持获得的答案:

  1. 事件中心对事件模式没有可见性,可以将其视为基于队列系统的黑匣子 -> 事件输入 = 事件输出。
  2. ASA 作业是一项无法处理不同类型事件的作业,因为它基于列名而不是列号来引用事件。

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多