Web API 条件操作示例 (PowerShell)

此 PowerShell 版本 7.4.0 示例演示如何根据 Microsoft Dataverse 服务器上包含的表行版本和/或客户端当前维护的表行版本来执行有条件的操作。 此示例实现 Web API 条件操作示例中详述的 Dataverse 操作和控制台输出。

此示例使用 Dataverse Web API PowerShell 帮助程序函数 来管理身份验证,并提供可重用的函数来执行常见作。 这些脚本通过点引用方式引用,具体行如下:

. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1

注释

此示例应适用于 Windows、Linux 和 macOS,但仅在 Windows 上进行了测试。

先决条件

在运行此示例之前,应阅读以下文章来解释这些示例使用的概念和模式:

这些文章具有相同的先决条件。

安装或验证是否已安装以下内容

验证安装

  1. 打开 Visual Studio Code。

  2. 在“终端”菜单中,选择“新终端”。

  3. 在 Visual Studio Code 导航窗格中,选择 PowerShell 扩展的图标。

  4. 在 Visual Studio Code 终端窗口中复制并粘贴以下脚本:

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Enter。 输出应如下所示:

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

如果未看到如下所示的结果,请安装或更新必备组件。

还需要

  • Dataverse 环境的有效用户帐户
  • 要连接到的 Dataverse 环境的 URL。 请参阅 “查看开发人员资源 ”,了解如何查找它。 它看起来如下所示:https://yourorg.crm.dynamics.com/,其中 yourorg.crm 不同。
  • 基本了解 PowerShell 脚本语言

如何运行此示例

  1. 克隆或下载 PowerApps-Samples 存储库。

  2. 使用 Visual Studio Code 打开 ConditionalOperations.ps1 文件

  3. 编辑此行以使用要连接到的环境的 URL:

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (可选)如果不想删除此示例创建的记录,请将 $deleteCreatedRecords 变量设置为 $false

  5. F5 运行示例。

  6. 首次运行示例时,会打开一个浏览器窗口。 在浏览器窗口中,输入或选择要用于进行身份验证的凭据。

若要以其他用户身份进行连接,请运行 Disconnect-AzAccount 命令 ,然后重试。

Code

此示例的代码位于: PowerApps-Samples/dataverse/webapi/PS/ConditionalOperations/ConditionalOperations.ps1

演示

此示例有四个区域:

第 0 节:创建示例记录

操作:创建一个帐户记录,并检索它以获取初始的 ETag 值。

第 1 部分:条件 GET

操作:

  • 尝试使用包含初始 ETag 值的 If-None-Match 标头来检索帐户,以证明当记录未更改时会返回 304 NotModified 响应。
  • 更新帐户的电话号码。
  • 尝试使用初始 ETag 值的If-None-Match标头再次检索帐户,表明返回的是完整记录,因为它已被修改。

第 2 节:删除与更新的乐观并发控制

操作:

  • 尝试使用包含初始 ETag 值的If-Match标头删除帐户,以表明当ETag值不匹配时,将返回412 PreconditionFailed错误。
  • 尝试使用包含初始 ETag 值的 If-Match 标头更新帐户,如果 ETag 值不匹配,将返回 412 PreconditionFailed 错误。
  • 使用 If-Match 具有当前 ETag 值的标头更新帐户,表明 ETag 匹配时更新成功。
  • 检索帐户以确认更新。

第 3 节:删除示例记录

操作:本示例中创建的每条记录均在生成时被添加至列表。 本部分遍历该列表并删除每条记录。

清理

默认情况下,此示例将删除在其中创建的所有记录。 如果要在示例完成后查看已创建的记录,请将 deleteCreatedRecords 变量更改为该变量 false ,系统会提示你确定是否要删除这些记录。

另请参阅

使用 Dataverse Web API
使用 Web API 进行条件操作
通过 PowerShell 和 Visual Studio Code 快速入门 Web API
将 PowerShell 和 Visual Studio Code 与 Dataverse Web API 配合使用
Web API 示例
Web API 条件作示例
Web API 条件作示例 (C#)
Web API 条件作示例 (客户端 JavaScript)