Azure Event Grid在订阅刀片中指定多个事件类型

时间:2018-05-08 15:20:35

标签: azure azure-eventgrid

我有一个事件网格订阅,我想订阅多种事件类型。如果我指定了事件类型字段:

EntityArchivedEvent 

然后提交一个事件匹配的事件,并且关联的azure函数按预期触发。

但是,如果我尝试将另一个事件类型添加到“事件类型”字段,如下所示:

EntityArchivedEvent,EntityHeaderCreatedEvent

然后我发送与EntityArchivedEvent类型完全相同的事件,现在事件无法匹配,并在事件订阅指标中显示为不匹配。甚至没有尝试让它与新的事件类型相匹配,只是验证原始的事件仍然有效。

根据规范,实体类型字段似乎是一个数组,应该支持多个值。如何在编辑订阅时在门户网站刀片中正确指定这些内容?

1 个答案:

答案 0 :(得分:2)

问题是分隔符,使用分号字符(;)作为事件类型的分隔符。

我认为应该使用字符串数组的分隔符,例如逗号字符(,) 除此之外,没有修剪空间,例如:

EntityArchivedEvent    ;    EntityHeaderCreatedEvent

将创建一个事件类型数组:

"includedEventTypes": [
      "EntityArchivedEvent    ",
      "    EntityHeaderCreatedEvent"
    ]

当然,应该要求这部分(订阅刀片的实现)来修复它,例如使用逗号分隔符并在每个事件类型的开头和结尾修剪空格。

我还发现了另外一个“编码错误”,以下示例显示了这种情况:

    EntityArchivedEvent;EntityHeaderCreatedEvent;


     "includedEventTypes": [
      "EntityArchivedEvent",
      "EntityHeaderCreatedEvent",
      " "
    ]

在这种情况下,我们有一个空格事件类型,没有?