Conexión a Microsoft Dataverse desde flujos de trabajo en Azure Logic Apps
Se aplica a: Azure Logic Apps (consumo + estándar)
Importante
El 30 de agosto de 2022, las operaciones de conector de Common Data Service 2.0, también conocidas como Microsoft Dataverse (heredado), migraron al conector actual de Microsoft Dataverse. Las operaciones heredadas llevan la etiqueta "heredada", mientras que las operaciones actuales llevan la etiqueta "versión preliminar". Puede usar el conector de Dataverse actual en cualquier flujo de trabajo de aplicación lógica existente o nuevo. Para asegurar la compatibilidad con versiones anteriores, los flujos de trabajo existentes siguen funcionando con el conector heredado de Dataverse. Sin embargo, asegúrese de revisar estos flujos de trabajo y actualizarlos rápidamente.
Desde octubre de 2023, la versión heredada dejó de estar disponible para los nuevos flujos de trabajo. Los flujos de trabajo existentes siguen funcionando, pero debes usar el conector de operaciones de Dataverse actual para los nuevos flujos de trabajo. Se anunciará una escala de tiempo para la fecha de apagado de las acciones y desencadenadores heredados. Para obtener más información, consulta El conector de Microsoft Dataverse (heredado) para Azure Logic Apps quedará en desuso y se reemplazará por otro conector.
Para crear y ejecutar flujos de trabajo automatizados que crean y administran filas en la base de datos de Microsoft Dataverse, puedes usar Azure Logic Apps y el conector de Microsoft Dataverse. Estos flujos de trabajo pueden crear y actualizar filas y realizar otras operaciones. También puede obtener información de la base de datos de Dataverse y hacer que la salida esté disponible para que otras acciones la usen en los flujos de trabajo. Por ejemplo, cuando se añada, actualice o elimine una fila en la base de datos de Dataverse, puede enviar un correo electrónico mediante el conector de Office 365 Outlook.
En esta guía se muestra cómo crear un flujo de trabajo que cree una fila de tareas cada vez que se cree una nueva fila de cliente potencial.
Referencia de conector
Para obtener datos técnicos basados en la descripción de Swagger del conector, como operaciones, límites y otros detalles, consulta la página de referencia del conector administrado.
Requisitos previos
Una cuenta y una suscripción de Azure. Si no tiene una suscripción de Azure, regístrese para obtener una cuenta gratuita de Azure.
Un entorno y una base de datos de Dataverse Data Service, que es un espacio donde una organización puede almacenar, administrar y compartir datos empresariales en una base de datos de Dataverse. Para obtener más información, consulte los siguientes recursos:
Información básica sobre cómo crear flujos de trabajo de aplicaciones lógicas de consumo o estándar y la aplicación lógica desde donde quiere acceder a las filas de la base de datos Dataverse. Para usar un desencadenador de Dataverse, debes empezar con un flujo de trabajo en blanco. Para obtener más información, consulte los siguientes recursos:
Agregar un desencadenador de Dataverse
Al agregar un desencadenador o una acción que se conecta a un servicio o sistema, y no tiene una conexión existente o activa, Azure Logic Apps le pide que proporcione la información de conexión, que varía en función del tipo de conexión, por ejemplo:
- Las credenciales de la cuenta
- El nombre que se va a usar para la conexión
- Nombre del sistema o servidor
- Tipo de autenticación que se debe usar.
- Una cadena de conexión
En este ejemplo se usa el desencadenador de Dataverse que inicia el flujo de trabajo cuando se agrega, actualiza o elimina una fila.
Nota:
El conector de Dataverse tiene parámetros específicos para operaciones y parámetros específicos para bases de datos. Por ejemplo, al seleccionar una tabla, los parámetros disponibles para esa tabla varían y difieren de otras tablas.
En Azure Portal, abra su recurso de aplicación lógica Estándar y el flujo de trabajo en blanco en el diseñador.
En el diseñador, sigue estos pasos generales para agregar el desencadenador de Microsoft Dataverse denominado Cuando se agrega, se modifica o se elimina una fila.
Si lo pide, inicia sesión en el entorno o la base de datos de Dataverse.
En el cuadro de información del desencadenador, proporcione los valores necesarios.
Para el desencadenador de ejemplo, consulta Cuando se agrega, se modifica o se elimina una fila.
Cuando haya terminado, guarde el flujo de trabajo de la aplicación lógica. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Ahora agregue al menos una acción para que el flujo de trabajo se ejecute al activar el desencadenador. Por ejemplo, puede agregar una acción de Dataverse o una acción que envíe correos electrónicos según las salidas del desencadenador.
Agregar una acción de Dataverse
Al agregar un desencadenador o una acción que se conecta a un servicio o sistema, y no tiene una conexión existente o activa, Azure Logic Apps le pide que proporcione la información de conexión, que varía en función del tipo de conexión, por ejemplo:
- Las credenciales de la cuenta
- El nombre que se va a usar para la conexión
- Nombre del sistema o servidor
- Tipo de autenticación que se debe usar.
- Una cadena de conexión
En este ejemplo se usa la acción de Dataverse que agrega una nueva fila a la base de datos.
Nota:
El conector de Dataverse tiene parámetros específicos para operaciones y parámetros específicos para bases de datos. Por ejemplo, al seleccionar una tabla, los parámetros disponibles para esa tabla varían y difieren de otras tablas.
En Azure Portal, abra su recurso de aplicación lógica estándar y el flujo de trabajo en el diseñador.
En el diseñador, sigue estos pasos generales para agregar la acción Microsoft Dataverse denominada Agregar una nueva fila.
Si lo pide, inicia sesión en el entorno o la base de datos de Dataverse.
En el cuadro de información de la acción, proporcione los valores necesarios.
Para obtener la acción de ejemplo, consulta Agregar una nueva fila.
Cuando haya terminado, guarde el flujo de trabajo de la aplicación lógica. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Siga agregando más acciones si lo desea.
Prueba del flujo de trabajo
Para probar y desencadenar el flujo de trabajo, siga estos pasos:
En el menú del flujo de trabajo, seleccione Información general.
En la barra de herramientas Información general, seleccione Ejecutar>Ejecutar.
Reproduzca las condiciones que requiere el desencadenador para que se ejecute el flujo de trabajo.
Devolución de filas según un filtro
En el caso de las acciones que devuelven filas, como la acción Enumerar filas, puede usar una consulta de ODATA que devuelva filas basándose en el filtro especificado. Por ejemplo, puede configurar la acción para devolver solo las filas de las cuentas activas. Para obtener más información sobre la acción de ejemplo, consulta Enumerar filas.
En el diseñador, en la acción, abre la lista Parámetros avanzados y selecciona la propiedad Filtrar filas.
En la propiedad Filtrar filas que ahora aparece en la acción, introduzca una expresión de consulta de ODATA como esta:
statuscode eq 1
Para obtener más información sobre las opciones de consulta del sistema de $filter
, visita Consultar datos utilizando la API web: Filtrar resultados.
Devolución de filas según un criterio de ordenación
En el caso de las acciones que devuelven filas, como la acción Enumerar filas, puede usar una consulta de ODATA que devuelva filas en una secuencia específica que varíe en función de las filas devueltas por la acción. Por ejemplo, puede configurar la acción para devolver filas organizadas por el nombre de cuenta. Para obtener más información sobre la acción de ejemplo, consulta Enumerar filas.
En el diseñador, en la acción, abre la lista Parámetros avanzados y seleccione la propiedad Ordenar por.
En la propiedad Ordenar por que aparece ahora en la acción, escriba el nombre de columna que se va a usar para ordenar, como name:
Para obtener más información sobre las opciones de consulta del sistema de $orderby
, visita Consultar datos utilizando la API web: Ordenar por.
Tipos de datos de campo
En un desencadenador o una acción, el tipo de datos de un valor de campo debe coincidir con el tipo de datos necesario del campo. Este requisito se aplica tanto si especifica manualmente el valor como si selecciona el valor de la lista de contenido dinámico.
Nota:
El conector de Dataverse tiene parámetros específicos para operaciones y parámetros específicos para bases de datos. Por ejemplo, al seleccionar una tabla, los parámetros disponibles para esa tabla varían y difieren de otras tablas.
Por ejemplo, suponga que tiene una tabla denominada Tareas. Esta tabla tiene campos que solo se aplican a esa tabla, mientras que otras tablas tienen sus propios campos. En el caso de la tabla Tareas de ejemplo, en la tabla siguiente se describen algunos tipos de campo de ejemplo y los tipos de datos que esos campos requieren para sus valores.
Campo | Tipo de datos | Descripción |
---|---|---|
Campo de texto | Línea de texto única | Requiere una sola línea de texto o contenido dinámico que tenga el tipo de datos de texto, como, por ejemplo, estas propiedades: - Descripción - Categoría |
Campo de entero | Número entero | Requiere un entero o contenido dinámico que tenga el tipo de datos de entero, como, por ejemplo, estas propiedades: - Porcentaje completado - Duration |
Campo Fecha | Fecha y hora | Requiere una fecha en formato MM/DD/AAAA o contenido dinámico que tenga el tipo de datos de fecha, como, por ejemplo, estas propiedades: - Creado el - Fecha de inicio - Inicio real - Finalización real - Due Date |
Campo que hace referencia a otra fila de entidad | Clave principal | Requiere un identificador de filas, como un GUID, y un tipo de búsqueda, lo que significa que los valores de la lista de contenido dinámico no funcionarán. Por ejemplo, estas propiedades: - Propietario: debe ser un identificador de usuario válido o un identificador de filas de equipo. - Tipo de propietario:debe ser un tipo de búsqueda, como systemusers o teams , respectivamente. - Referente: debe ser un identificador de filas válido, como un identificador de cuenta o un identificador de filas de contacto. - Tipo de referente: debe ser un tipo de búsqueda, como accounts o contacts , respectivamente. - Cliente: debe ser un identificador de filas válido, como un identificador de cuenta o un identificador de filas de contacto. - Tipo de cliente: debe ser debe ser el tipo de búsqueda, como accounts o contacts , respectivamente. |
En la tabla Tareas de ejemplo, supongamos que usa la acción Agregar una nueva fila para crear una nueva fila asociada a otras filas de entidad, específicamente una fila de usuario y una fila de cuenta. Así, en esta acción, debe especificar los identificadores y los tipos de búsqueda para esas filas de entidad mediante valores que coinciden con los tipos de datos esperados para las propiedades pertinentes.
En función de la propiedad Propietario, que especifica un identificador de usuario, y la propiedad Tipo de propietario, que especifica el tipo de búsqueda
systemusers
, la acción asocia la nueva fila a un usuario específico.En función de la propiedad Referente, que especifica un identificador de filas, y la propiedad Tipo de referente, que especifica el tipo de búsqueda
accounts
, la acción asocia la nueva fila con una cuenta específica.
Solución de problemas
Llamadas desde varios entornos
El conector de Dataverse almacena información sobre los flujos de trabajo de la aplicación lógica que obtienen y requieren notificaciones sobre los cambios de entidad de base de datos mediante la entidad callbackregistrations
de la base de datos de Dataverse. Si copia una organización de Dataverse, también se copian los webhooks. Si copia la organización antes de deshabilitar los flujos de trabajo que están asignados a esta, los webhooks copiados también apuntarán a los mismos flujos de trabajo de aplicaciones lógicas que, a su vez, recibirán notificaciones de varias organizaciones.
Para detener las notificaciones no deseadas, siga estos pasos para eliminar la entidad callbackregistrations
de la organización que envía esas notificaciones:
Identifique e inicie sesión en la organización de Dataverse de donde quiere quitar las notificaciones.
En el navegador Chrome, busque el registro de devolución de llamada que quiere eliminar.
Revise la lista genérica de todos los registros de devolución de llamada en el siguiente URI de OData para que pueda ver los datos dentro de la entidad
callbackregistrations
:https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations
:Nota:
Si no se devuelve ningún valor, es posible que no tenga permisos para ver este tipo de entidad o que no haya iniciado sesión en la organización correcta.
Filtre por el nombre lógico de la entidad desencadenadora
entityname
y el evento de notificación que coincida con el flujo de trabajo de la aplicación lógica (mensaje). Cada tipo de evento se asigna al entero del mensaje como se indica a continuación:Tipo de evento Entero del mensaje Crear 1 Eliminar 2 Actualizar 3 CreateOrUpdate 4 CreateOrDelete 5 UpdateOrDelete 6 CreateOrUpdateOrDelete 7 En el siguiente ejemplo se muestra cómo filtrar por las notificaciones
Create
en una entidad llamadanov_validation
mediante el siguiente URI de OData en una organización de ejemplo:https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1
Nota:
Si hay varios desencadenadores para la misma entidad o evento, puede filtrar la lista usando filtros adicionales, como los atributos
createdon
y_owninguser_value
. El nombre del usuario propietario aparece en/api/data/v9.0/systemusers({id})
.Después de encontrar el identificador del registro de devolución de llamada que quiere eliminar, siga estos pasos:
En el explorador Chrome, abre las Herramientas de desarrollo de Chrome (Teclado: F12).
En la ventana, en la parte superior, seleccione la pestaña Consola.
En el símbolo de la línea de comandos, escriba este comando, que envía una solicitud para eliminar el registro de devolución de llamada especificado:
fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})
Importante
Asegúrese de realizar la solicitud desde una página de interfaz de cliente no unificada (UCI), por ejemplo, desde la propia página de respuesta de API o OData. De lo contrario, la lógica del archivo app.js podría interferir con esta operación.
Para confirmar que el registro de devolución de llamada ya no existe, consulte la lista de registros de devolución de llamada.
Entidad ‘callbackregistrations’ duplicada
En flujos de trabajo de aplicación lógica estándar, en condiciones específicas como la reasignación de instancias o el reinicio de la aplicación, el desencadenador de Microsoft Dataverse inicia una ejecución duplicada, que crea una entidad duplicada callbackregistrations
en la base de datos de Dataverse. Si editas un flujo de trabajo estándar que comienza con un desencadenador de Dataverse, comprueba si esta entidad callbackregistrations
está duplicada. Si el duplicado existe, elimina manualmente la entidad duplicada callbackregistrations
.