我有一个事件网格订阅,我想订阅多种事件类型。如果我指定了事件类型字段:
EntityArchivedEvent
然后提交一个事件匹配的事件,并且关联的azure函数按预期触发。
但是,如果我尝试将另一个事件类型添加到“事件类型”字段,如下所示:
EntityArchivedEvent,EntityHeaderCreatedEvent
然后我发送与EntityArchivedEvent类型完全相同的事件,现在事件无法匹配,并在事件订阅指标中显示为不匹配。甚至没有尝试让它与新的事件类型相匹配,只是验证原始的事件仍然有效。
根据规范,实体类型字段似乎是一个数组,应该支持多个值。如何在编辑订阅时在门户网站刀片中正确指定这些内容?
答案 0 :(得分:2)
问题是分隔符,使用分号字符(;)作为事件类型的分隔符。
我认为应该使用字符串数组的分隔符,例如逗号字符(,) 除此之外,没有修剪空间,例如:
EntityArchivedEvent ; EntityHeaderCreatedEvent
将创建一个事件类型数组:
"includedEventTypes": [
"EntityArchivedEvent ",
" EntityHeaderCreatedEvent"
]
当然,应该要求这部分(订阅刀片的实现)来修复它,例如使用逗号分隔符并在每个事件类型的开头和结尾修剪空格。
我还发现了另外一个“编码错误”,以下示例显示了这种情况:
EntityArchivedEvent;EntityHeaderCreatedEvent;
"includedEventTypes": [
"EntityArchivedEvent",
"EntityHeaderCreatedEvent",
" "
]
在这种情况下,我们有一个空格事件类型,没有?