Crear una aplicación de exportación de datos periódica

Se aplica a estas aplicaciones de Dynamics 365:
Recursos humanos

En este artículo se describe cómo crear una aplicación lógica de Microsoft Azure que exporta datos de Microsoft Dynamics 365 Human Resources según una programación periódica. El tutorial aprovecha la interfaz de programación de aplicaciones (API) REST del paquete DMF de Human Resources para exportar los datos. Una vez exportados los datos, la aplicación lógica guarda el paquete de datos exportado en una carpeta Microsoft OneDrive.

Escenario de empresa

En un escenario empresarial típico de integración con Microsoft Dynamics 365, es necesario exportar datos a un sistema posterior de forma periódica. En este tutorial se muestra cómo exportar todos los registros de trabajo de Microsoft Dynamics 365 Human Resources y guardar la lista de trabajos en una carpeta OneDrive.

Sugerencia

Los datos específicos que exporta en este tutorial y el destino de los datos exportados son solo ejemplos. Puede cambiarlos fácilmente para satisfacer sus necesidades comerciales.

Tecnologías utilizadas

Este tutorial utiliza las siguientes tecnologías:

Prerequisites

Antes de comenzar el ejercicio de este tutorial, asegúrese de que tiene los siguientes elementos:

  • Un entorno de Human Resources que tiene permisos de nivel de administrador en el entorno.
  • Una suscripción a Azure para hospedar la aplicación lógica

El ejercicio

Al final de este ejercicio, tendrá una aplicación lógica conectada al entorno de recursos humanos y a la cuenta de OneDrive. La aplicación lógica exportará un paquete de datos de Recursos humanos, esperará a que se complete la exportación, descargue el paquete de datos exportado y guarde el paquete de datos en la carpeta OneDrive que especificó.

La aplicación lógica completada es similar a la siguiente ilustración.

Captura de pantalla de la información general de la aplicación lógica completada.

Paso 1: crear un proyecto de exportación de datos en Human Resources

En Human Resources, cree un proyecto de exportación de datos que exporte trabajadores. Asigne al proyecto el nombre Exportar trabajos y establezca la opción Generar paquete de datos en . Agregue una sola entidad (Trabajador) al proyecto y seleccione el formato para exportar. (En este tutorial se usa el formato Microsoft Excel).

Captura de pantalla del proyecto de datos Export Workers.

Importante

Recuerde el nombre del proyecto de exportación de datos. Lo necesita al crear la aplicación lógica en el paso siguiente.

Paso 2: crear la aplicación lógica

La mayoría de este ejercicio implica la creación de la aplicación lógica.

  1. En Azure Portal, cree una aplicación lógica.

    Captura de pantalla de la página de creación de la aplicación lógica.

  2. En Logic Apps Designer, comience con una aplicación lógica en blanco.

  3. Agregue un desencadenador de programación periódica para ejecutar la aplicación lógica cada 24 horas (o de acuerdo con un horario de su elección).

    Captura de pantalla del cuadro de diálogo Periodicidad

  4. Llame a la API REST DMF ExportToPackage para programar la exportación del paquete de datos.

    1. Utilice la acción Invocar una solicitud HTTP desde el conector HTTP con Microsoft Entra.

      • Dirección URL del recurso base: La dirección URL del entorno de recursos humanos (no incluya información de ruta de acceso ni espacio de nombres).
      • URI de recurso de Microsoft Entra:http://hr.talent.dynamics.com

      Nota:

      El servicio Human Resources aún no proporciona un conector que exponga todas las API que componen la API REST de paquetes DMF, como ExportToPackage. En su lugar, debe invocar las API mediante solicitudes HTTPS directas a través del conector HTTP con Microsoft Entra. Este conector usa Microsoft Entra ID para la autenticación y autorización en Human Resources.

    2. Inicie sesión en el entorno de Human Resources a través del conector HTTP con Microsoft Entra.

    3. Configure una solicitud HTTP POST para llamar a la API REST DMF ExportToPackage.

      • Método: POST

      • URL de la solicitud:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage

      • Cuerpo de la solicitud:

        {
            "definitionGroupId":"Export Workers",
            "packageName":"talent_package.zip",
            "executionId":"",
            "reExecute":false,
            "legalEntityId":"USMF"
        }
        

    Sugerencia

    Es posible que desee cambiar el nombre de cada paso para que sea más significativo que el nombre predeterminado, Invocar una solicitud HTTP. Por ejemplo, puede cambiar el nombre de este paso ExportToPackage.

  5. Inicializar una variable para almacenar el estado de ejecución de la solicitud ExportToPackage.

    Captura de pantalla de la acción Inicializar variable.

  6. Espere hasta que el estado de ejecución de la exportación de datos sea Correcto.

    1. Agregar un bucle Until que se repite hasta que el valor de la variable ExecutionStatus sea Correcto.

    2. Agregue una acción Retrasar que espere cinco segundos antes de sondear el estado de ejecución actual de la exportación.

      Captura de pantalla del contenedor de bucle Until.

      Nota:

      Establezca el recuento límite en 15 para esperar un máximo de 75 segundos (15 iteraciones × 5 segundos) a que se complete la exportación. Si su exportación lleva más tiempo, ajuste el recuento de límites según corresponda.

    3. Agregue una acción Invocar solicitud HTTP para llamar a la API REST DMF GetExecutionSummaryStatus y establezca la variable ExecutionStatus en el resultado de la respuesta GetExecutionSummaryStatus.

      Este ejemplo no realiza la comprobación de errores. La API GetExecutionSummaryStatus puede devolver estados terminales no exitosos (es decir, estados distintos de Correcto). Para obtener más información, consulte la documentación de la API.

      • Método: POST

      • URL de la solicitud:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus

      • Cuerpo de la solicitud:body('Invoke_an_HTTP_request')?['value']

        Nota:

        Puede que tenga que introducir el valor de Cuerpo de la solicitud en la vista de código o en el editor de funciones del diseñador.

      Captura de pantalla de la acción Invocar una solicitud HTTP 2.

      Captura de pantalla de la acción Establecer variable.

      Importante

      Valor de la acción Establecer variable (body('Invoke_an_HTTP_request_2')?[' value']) difiere del valor de Invoke an HTTP request 2 body value, aunque el diseñador muestre los valores de la misma manera.

  7. Obtenga la URL de descarga del paquete exportado.

    • Agregue una acción Invocar solicitud HTTP para llamar a la API REST DMF GetExportedPackageUrl.

      • Método: POST
      • URL de la solicitud: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • Cuerpo de la solicitud: {"executionId": body('GetExportedPackageURL')?['valor']}

      Captura de pantalla de la acción GetExportedPackageURL.

  8. Descargue el paquete exportado.

    • Agregue una solicitud HTTP GET (una acción integrada del conector HTTP) para descargar el paquete de la dirección URL que devuelve el paso anterior.

      • Método: GET

      • URI: body('Invoke_an_HTTP_request_3').value

        Nota:

        Puede que tenga que introducir el valor de URI en la vista de código o en el editor de funciones del diseñador.

      Captura de pantalla de la acción HTTP GET.

      Nota:

      Esta solicitud no requiere ninguna autenticación adicional, porque la URL que devuelve la API GetExportedPackageUrl incluye un token de firmas de acceso compartido que otorga acceso para descargar el archivo.

  9. Guarde el paquete descargado mediante OneDrive conector.

    • Agregue una acción de archivo de OneDrive Create File.

    • Conéctese a la cuenta de OneDrive, según sea necesario.

      • Ruta de la carpeta: una carpeta de su elección
      • Nombre de archivo: worker_package.zip
      • Contenido del archivo: el cuerpo del paso anterior (contenido dinámico)

      Captura de pantalla de la acción Crear archivo.

Paso 3: probar la aplicación lógica

Para probar la aplicación lógica, seleccione Ejecutar en el diseñador. Verá que los pasos de la aplicación lógica comienzan a ejecutarse. Tras 30 o 40 segundos, la aplicación lógica termina de ejecutarse y tu carpeta de OneDrive contiene un nuevo archivo de paquete que incluye los trabajadores exportados.

Si se informa una falla para cualquier paso, seleccione el paso fallido en el diseñador y examine los campos Entradas y Salidas para ello. Depure y ajuste el paso según sea necesario para corregir los errores.

En la ilustración siguiente se muestra el aspecto del diseñador de Logic Apps cuando todos los pasos de la aplicación lógica se ejecutan correctamente.

Captura de pantalla de una ejecución correcta de la aplicación lógica.

Resumen

En este tutorial, ha aprendido a usar una aplicación lógica para exportar datos de recursos humanos y guardar los datos exportados en una carpeta OneDrive. Puede modificar los pasos de este tutorial según sea necesario para satisfacer las necesidades de su negocio.