0

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

EntityArchivedEvent 

然后提交与该事件匹配的类型的事件,并且关联的 azure 函数按预期触发。

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

EntityArchivedEvent,EntityHeaderCreatedEvent

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

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

4

1 回答 1

2

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

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

EntityArchivedEvent    ;    EntityHeaderCreatedEvent

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

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

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

我还为这种转换找到了另一个“错误编码”,以下示例显示了这种情况:

    EntityArchivedEvent;EntityHeaderCreatedEvent;


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

在这种情况下,我们有一个空白事件类型,不是吗?

于 2018-05-08T16:18:04.607 回答