viv*_*k86 4 c# azure azure-eventgrid
我一直在尝试使用 Azure EventGrid 将事件发布到Azure.Messaging.EventGridEvent.EventGridPublisherClient
,效果很好。我刚刚发现 EventGrid 还有另一个客户端,即Microsoft.Azure.EventGrid.EventGridClient
.
经过调查,库和命名空间都实现了相同的目标,但公开了截然不同的方法和属性,并且处理序列化和反序列化的方式也Data
截然不同;whileMicrosoft.Azure.EventGrid.EventGridEvent
直接将Data
属性公开为public
属性,Azure.Messaging.EventGridEvent
hasData
作为internal
属性并且仅公开诸如GetData<T>
、 和 之类的方法GetDataAsync<T>
。
让两个库做几乎相似的事情让我完全困惑,不知道哪个是正确的库。对于我们何时应该使用一个库而不是另一个库,是否有任何指导原则?使用其中一种比另一种有什么好处吗?我尝试查看文档,但无法辨别有关这两个库的正确用法的任何信息。
Microsoft 正忙于为其 Azure SDK 创建新包。目前,Azure SDK 包的工作方式存在重大差异。为了解决这个问题,他们定义了新的 SDK 设计指南,并且正在根据这些指南将所有 Azure SDK 替换为新的 SDK。
Microsoft.Azure.EventGrid包是稳定的,但不遵循这些新准则。Azure.Messaging.EventGrid包处于预览阶段,但确实遵循准则。根据您的情况,您现在可能想要使用预览库。因此,您可以坚持使用稳定的版本,并在需要时最终更换它。