Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- 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
Estos artículos tienen los mismos requisitos previos.
Instale o verifique que lo siguiente esté instalado
Instale Visual Studio Code. Consulte Descargar Visual Studio Code
Instale la extensión de PowerShell para Visual Studio Code. Consulte PowerShell para Visual Studio Code
Instale PowerShell 7.4 o superior. Consulte Instalar PowerShell en Windows, Linux y macOS
Instale el módulo Az PowerShell versión 11.1.0 o superior. Consulte Instalar Azure PowerShell
Para actualizar una instalación existente a la última versión, use
Update-Module -Name Az -Force
Comprobar la instalación
Abre Visual Studio Code.
En el menú Terminal, seleccione Nuevo terminal.
En el panel de navegación de Visual Studio Code, seleccione el icono
para la extensión de PowerShell.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).VersionPresione 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/, dondeyourorg.crmes diferente. - Comprensión básica de lenguaje de scripting PowerShell
Cómo ejecutar esta muestra
Clonar o descargar el repositorio de ejemplos de PowerApps.
Abra el archivo
ConditionalOperations.ps1usando Visual Studio CodeEdite esta línea para usar la URL del entorno al que quiere conectarse:
Connect 'https://yourorg.crm.dynamics.com/' # change this(Opcional) Configure la variable
$deleteCreatedRecordsa$falsesi no desea eliminar los registros que crea esta muestra.Presione F5 para ejecutar el ejemplo.
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-Matchcon el valor ETag inicial, demostrando que se retorna una respuesta304 NotModifiedcuando 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-Matchcon 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-Matchcon el valor ETag inicial, demostrando que se devuelve un error412 PreconditionFailedcuando el valor ETag no coincide. - Intente actualizar la cuenta mediante el encabezado
If-Matchcon el valor ETag inicial, mostrando que se devuelve un412 PreconditionFailederror cuando la ETag no coincide. - Actualice la cuenta usando el encabezado
If-Matchcon 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)