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 artículo se muestra cómo detectar y agregar acciones y funciones de Dataverse a una aplicación de código Power Apps mediante la CLI de Power Apps.
Prerrequisitos
- Una aplicación de código Power Apps inicializada con
pa app init -
@microsoft/power-appsversión 1.1.1 o posterior en elpackage.json - Acceso al entorno de Dataverse que contiene la operación que desea usar
La CLI le pide que inicie sesión si aún no está autenticado.
Paso 1: Búsqueda de operaciones disponibles
Use pa app find-dataverse-api para buscar operaciones por nombre en el entorno configurado para la aplicación de código:
pa app find-dataverse-api --search "WhoAmI"
La salida enumera las operaciones coincidentes e incluye el tipo de operación, los parámetros, la tabla de enlace y el tipo de valor devuelto.
====================================================================================================
Dataverse Operations
====================================================================================================
WhoAmI (Function)
Returns: mscrm.WhoAmIResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Esta función y el tipo de valor devuelto se documentan aquí:
También puede buscar acciones. Por ejemplo:
pa app find-dataverse-api --search "AddToQueue"
====================================================================================================
Dataverse Operations
====================================================================================================
AddToQueue (Action)
Bound to: mscrm.queue
Parameters:
- Target: mscrm.crmbaseentity
- SourceQueue?: mscrm.queue
- QueueItemProperties?: mscrm.queueitem
Returns: mscrm.AddToQueueResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Esta acción, los tipos de parámetros y los tipos devueltos se documentan aquí:
- Acción AddToQueue
- Tipo de entidad crmbaseentity
- tipo de entidad queue
- Tipo de entidad queueitem
- Tipo complejo AddToQueueResponse
La búsqueda usa una coincidencia de subcadena sin distinción entre mayúsculas y minúsculas en el nombre de la operación. Para devolver JSON para escenarios de scripting o de agente de codificación, incluya --json:
pa app find-dataverse-api --search "WhoAmI" --json
Paso 2: Agregar la operación
Después de encontrar el nombre de la operación, agréguelo a la aplicación:
pa app add dataverse-api --api-name WhoAmI
El comando:
- Obtiene la definición de la operación del punto de conexión de Dataverse
$metadata. - Escribe el esquema de la operación en
<schemaPath>/dataverse/<ApiName>.Schema.json. - Guarda esquemas para las tablas de Dataverse a las que hace referencia la operación.
- Actualiza
power.config.json. -
dataSourcesInfo.tsRegenera . - Genera modelos typeScript y una clase de servicio en
<codeGenPath>/generated/.
Al agregar la operación, la CLI devuelve una confirmación:
Dataverse API 'WhoAmI' added successfully.
Paso 3: Uso del servicio generado
El comando genera una <ApiName>Service clase para la operación. Después de agregar WhoAmI, importe su servicio:
import { WhoAmIService } from './generated/services/WhoAmIService';
Llame al método generado:
const result = await WhoAmIService.WhoAmI();
// result.value contains BusinessUnitId, UserId, and OrganizationId.
Para una acción enlazada como AddToQueue, el primer argumento es el identificador del registro en el que opera la acción:
import { AddToQueueService } from './generated/services/AddToQueueService';
const result = await AddToQueueService.AddToQueue(
queueId,
target,
sourceQueue,
queueItemProperties
);
Los tipos de parámetro y valor devuelto se basan en el esquema de Dataverse:
- Los parámetros GUID usan el
stringtipo . - Los parámetros de búsqueda que hacen referencia a una tabla de Dataverse usan
Record<string, unknown>. - Las operaciones sin un valor devuelto usan
Promise<IOperationResult<void>>. - Las operaciones que devuelven un valor escalar usan
Promise<IOperationResult<T>>. - Las operaciones que devuelven un tipo complejo o una tabla usan
Promise<IOperationResult<Record<string, unknown>>>.
Actualización de una operación
Vuelva a ejecutar pa app add dataverse-api con el mismo nombre de operación para obtener la definición más reciente:
pa app add dataverse-api --api-name WhoAmI
El comando sobrescribe el esquema de la operación, regenera dataSourcesInfo.ts, quita las entradas de configuración duplicadas y conserva los archivos de esquema de tabla a los que se hace referencia.
Archivos creados o actualizados
| File | Cambio |
|---|---|
<schemaPath>/dataverse/<ApiName>.Schema.json |
Crea o sobrescribe el esquema de la operación. |
<schemaPath>/dataverse/<TableName>.Schema.json |
Crea esquemas para tablas a las que se hace referencia si aún no existen. |
<schemaPath>/appschemas/dataSourcesInfo.ts |
Regenera la información del origen de datos. |
power.config.json |
Agrega la referencia de Dataverse y, para una operación enlazada, la tabla de enlace. |
<codeGenPath>/generated/models/<TableName>Model.ts |
Genera modelos para tablas a las que se hace referencia. |
<codeGenPath>/generated/services/<ApiName>Service.ts |
Genera la clase de servicio para la operación. |
Troubleshooting
No se encontraron operaciones
La búsqueda solo coincide con el nombre de la operación. Pruebe un término de búsqueda más corto o diferente. Incluya --json para inspeccionar la respuesta.
Los archivos generados no están actualizados
Vuelva a ejecutar pa app add dataverse-api con el mismo nombre de operación. Si cambió el nombre o quitó la operación y los archivos generados obsoletos permanecen, elimine esos archivos antes de volver a generar la operación.