Microsoft Dataverse Web API 简介
Web API 与组织服务
Web API 与组织服务是与 Microsoft Dataverse 中的数据和元数据进行交互的两种主要方式。 使用 Microsoft 提供的 SDK for .NET 编写插件或工作流扩展时,可以使用组织服务。
无论采用什么方法,所有数据操作均通过基础组织服务完成。 因此,Web API 使您能够采用 RESTful 样式执行与组织服务相同的操作。
下图是一个决策树,可帮助您确定何时使用 Web API,何时使用组织服务(通过 Microsoft.CrmSdk.CoreAssemblies NuGet 包中的 SDK 程序集)。 它还展示了何时面向 Windows 应用程序使用 Dataverse ServiceClient 程序集(在 Microsoft.PowerPlatform.Dataverse.Client NuGet 包中提供)。
本模块重点介绍 Web API。 有关组织服务的详细信息,请参阅 Dataverse 开发人员指南中的使用 Dataverse Organization 服务。
OData (Open Data Protocol) 4.0
Dataverse Web API 已作为 OData (OASIS Open Data Protocol) 服务实现。 使用此类行业标准,可提供开放标准开发的所有好处,例如跨平台兼容性,以及依据通用预定义协议的简单实现,等等。
Dataverse 不为 Web API 提供特定的 .NET 工具。 相反,我们建议您使用符合 OData 协议的社区库。 如需了解有关存在哪些库的更多信息,请访问 https://www.odata.org/libraries/。
OData 让您可以通过标准 GET、POST、PATCH 和 DELETE HTTP 方法使用 CRUD(Create、Read、Update、Delete)操作与 Dataverse 数据进行交互。 (您可以在本模块后面的部分找到有关这些方法的更多信息。)您还可以通过调用与相应的组织服务消息同名的 OData 函数 或操作 来执行通过 Dataverse 事件框架公开的几乎所有其他操作。 只有与 CRUD 相关的消息不可用,因为这些消息使用之前描述的标准 HTTP 方法。
REST
从根本上来说,OData 协议是一组 RESTful(REpresentational State Transfer,表述性状态转移)API,这个行业标准用于实现系统之间的互操作性。 REST 由六项指导原则组成,这些指导原则限制了服务处理和响应请求的方式,以确保满足该服务的非功能性属性(例如,性能、可扩展性、简单性、可靠性等)。
就本课程而言,您应记住 OData 符合这些约束条件,并且实施 OData 协议的 Dataverse Web API 也符合这些约束条件。
FetchXML
FetchXML 是一种强大的查询语言,允许对 Dataverse 数据进行复杂查询。 当您使用 Dataverse Web API 运行查询时,可以使用 FetchXML 来撰写查询条件。 针对 FetchXML 比 OData 查询语法更适合您的特定查询的应用场景,此方法可能很有用。 您可以在本模块后面的单元中找到有关 FetchXML 的详细信息。