Compartir a través de


Ejemplo de operaciones condicionales de API web (PowerShell)

En este ejemplo de PowerShell versión 7.4.0 se muestra cómo realizar operaciones que se basan condicionalmente en la versión de la fila de tabla contenida en el servidor de Microsoft Dataverse o que el cliente mantiene actualmente. En este ejemplo se implementan las operaciones de Dataverse y la salida de la consola detalladas en Ejemplo de operaciones condicionales de API web.

Esta muestra utiliza el Funciones auxiliares de PowerShell de la Web API de Dataverse para gestionar la autenticación y proporcionar funciones reutilizables para realizar operaciones comunes. Se hace referencia a estos scripts utilizando abastecimiento de puntos con las siguientes líneas:

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

Nota:

Esta muestra debería funcionar con Windows, Linux y macOS, pero solo se ha probado en Windows.

Prerrequisitos

Antes de ejecutar este ejemplo, debe leer estos artículos que explican los conceptos y patrones utilizados en estos ejemplos:

Estos artículos tienen los mismos requisitos previos.

Instale o verifique que lo siguiente esté instalado

Comprobar la instalación

  1. Abre Visual Studio Code.

  2. En el menú Terminal, seleccione Nuevo terminal.

  3. En el panel de navegación de Visual Studio Code, seleccione el icono para la extensión de PowerShell.

  4. Copie y pegue el siguiente script en la ventana de la terminal de Visual Studio Code:

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Presione ENTRAR. La salida debe ser similar a la siguiente:

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

Si no ve resultados como este, instale o actualice los requisitos previos.

También necesitará

  • Cuenta de usuario válida para un entorno de Dataverse
  • Dirección URL al entorno de Dataverse al que desea conectarse Consulte Ver recursos para desarrolladores para saber cómo encontrarlo. Se parece a esto: https://yourorg.crm.dynamics.com/, donde yourorg.crm es diferente.
  • Comprensión básica de lenguaje de scripting PowerShell

Cómo ejecutar esta muestra

  1. Clonar o descargar el repositorio de ejemplos de PowerApps.

  2. Abra el archivo ConditionalOperations.ps1 usando Visual Studio Code

  3. Edite esta línea para usar la URL del entorno al que quiere conectarse:

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

  4. (Opcional) Configure la variable $deleteCreatedRecords a $false si no desea eliminar los registros que crea esta muestra.

  5. Presione F5 para ejecutar el ejemplo.

  6. La primera vez que ejecuta el ejemplo se abre una ventana del navegador. En la ventana del navegador, ingrese o seleccione las credenciales que desea usar para autenticarse.

Para conectarse como un usuario diferente, ejecute el Comando Disconnect-AzAccount e inténtelo de nuevo.

Código

El código de este ejemplo se encuentra en: PowerApps-Samples/dataverse/webapi/PS/ConditionalOperations/ConditionalOperations.ps1

Demostraciones

Este ejemplo tiene cuatro regiones:

Sección 0: Crear registros de muestra

Operaciones: cree un registro de cuenta y recuperelo para capturar el valor ETag inicial.

Sección 1: GET condicional

Operaciones:

  • Intente recuperar la cuenta mediante el encabezado If-None-Match con el valor ETag inicial, demostrando que se retorna una respuesta 304 NotModified cuando el registro no ha cambiado.
  • Actualice el número de teléfono de la cuenta.
  • Intente recuperar la cuenta de nuevo usando el encabezado If-None-Match con el valor ETag inicial, demostrando que se devuelve el registro completo porque ha sido modificado.

Sección 2: Simultaneidad optimista al eliminar y actualizar

Operaciones:

  • Intente eliminar la cuenta usando el encabezado If-Match con el valor ETag inicial, demostrando que se devuelve un error 412 PreconditionFailed cuando el valor ETag no coincide.
  • Intente actualizar la cuenta mediante el encabezado If-Match con el valor ETag inicial, mostrando que se devuelve un 412 PreconditionFailed error cuando la ETag no coincide.
  • Actualice la cuenta usando el encabezado If-Match con el valor actual de ETag, demostrando que la actualización se realiza correctamente cuando el ETag coincide.
  • Recupere la cuenta para confirmar la actualización.

Sección 3: Eliminar registros de muestra

Operaciones: se agregó una referencia a cada registro creado en esta muestra a una lista a medida que se creaba. Esta sección recorre esa lista y elimina cada registro.

Limpieza

De forma predeterminada, esta muestra elimina todos los registros creados en ella. Si desea ver los registros creados después de completar la muestra, cambie la variable deleteCreatedRecords a false y se le pedirá que decida si desea eliminar los registros.

Consulte también

Usar la API web de Dataverse
Realización de operaciones condicionales mediante la API web
Inicio rápido de la API web con PowerShell y Visual Studio Code
Usar PowerShell y Visual Studio Code con la API web de Dataverse
Ejemplos de la API web
Ejemplo de operaciones condicionales de la API web
Ejemplo de operaciones condicionales de la API web (C#)
Ejemplo de operaciones condicionales de API web (JavaScript del lado cliente)