Criar uma aplicação de exportação recorrente de dados

Aplica-se a estas aplicações do Dynamics 365:
Recursos Humanos

Este artigo descreve como criar uma aplicação lógica do Microsoft Azure que exporta dados do Microsoft Dynamics 365 Human Resources numa agenda recorrente. O tutorial tira proveito da interface de programação de aplicações (API) REST do pacote DMF do Human Resources para exportar os dados. Depois de os dados serem exportados, a aplicação lógica guarda o pacote de dados exportado numa pasta do Microsoft OneDrive.

Cenário de negócio

Num cenário empresarial típico para integrações do Microsoft Dynamics 365, é necessário exportar dados para um sistema subsequente de forma recorrente. Este tutorial mostra como exportar todos os registos de trabalhadores de Microsoft Dynamics 365 Human Resources e guardar a lista de trabalhadores numa pasta OneDrive.

Tip

Os dados específicos que exportas neste tutorial e o destino dos dados exportados são apenas exemplos. Pode alterá-los facilmente para atender às suas necessidades de negócio.

Tecnologias utilizadas

Este tutorial utiliza as seguintes tecnologias:

Pré-requisitos

Antes de começares o exercício deste tutorial, certifica-te de que tens os seguintes itens:

  • Um ambiente do Human Resources que tem permissões de nível de administrador no ambiente
  • Uma subscrição do Azure para alojar a aplicação lógica

O exercício

No final deste exercício, terá uma aplicação lógica ligada ao seu ambiente de Recursos Humanos e à sua conta OneDrive. A aplicação Logic exporta um pacote de dados dos Recursos Humanos, espera que a exportação seja concluída, descarrega o pacote de dados exportado e guarda o pacote de dados na pasta OneDrive que especificaste.

A aplicação lógica completa assemelha-se à seguinte ilustração.

Captura de ecrã da visão geral da aplicação lógica completa.

Passo 1: Criar um projeto de exportação de dados no Human Resources

No Human Resources, crie um projeto de exportação de dados que exporta trabalhadores. Nomeie o projeto como Exportar Trabalhadores e defina a opção Gerar pacote de dadoscomo Sim. Adicione uma única entidade (Trabalhador) ao projeto e selecione o formato a exportar. (Este tutorial utiliza o formato Microsoft Excel.)

Captura de ecrã do projeto de dados Export Workers.

Importante

Lembre-se do nome do projeto de exportação de dados. Precisas disso quando criares a aplicação lógica na etapa seguinte.

Passo 2: Criar a aplicação lógica

Grande parte deste exercício envolve criar a aplicação lógica.

  1. No portal do Azure, crie uma aplicação lógica.

    Captura de ecrã da página de criação da app Logic.

  2. No Logic Apps Designer, comece com uma aplicação lógica em branco.

  3. Adicione um Acionador de agendamento da periodicidade para executar a aplicação lógica a cada 24 horas (ou de acordo com um agendamento da sua escolha).

    Captura de ecrã da caixa de diálogo Recorrência.

  4. Chame a API REST de DMF ExportToPackage para agendar a exportação do seu pacote de dados.

    1. Utilize a ação Invocar um pedido HTTP do conector HTTP com Microsoft Entra.

      • URL do recurso base: A URL do seu ambiente de Recursos Humanos (Não inclua informações de caminho ou namespace.)
      • URI de Recurso do Microsoft Entra:http://hr.talent.dynamics.com

      Note

      O serviço do Human Resources ainda não fornece um conector que expõe todas as APIs que compõem a API REST do pacote DMF, como ExportToPackage. Em vez disso, deve chamar as APIs utilizando pedidos HTTPS brutos através do conector HTTP com Microsoft Entra. Este conector utiliza o Microsoft Entra ID para autenticação e autorização para o Human Resources.

    2. Inicie sessão no seu ambiente do Human Resources por meio do HTTP com o conector Microsoft Entra.

    3. Configure um pedido HTTP POST para chamar a API REST de DMF ExportToPackage.

      • Método: POST

      • Url do pedido:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage

      • Corpo do pedido:

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

    Tip

    Pode renomear cada passo para que seja mais significativo do que o nome predefinido, Invocar um pedido HTTP. Por exemplo, pode renomear este passo ExportToPackage.

  5. Inicialize uma variável para armazenar o estado de execução do pedido ExportToPackage.

    Captura de ecrã da ação Inicializar a variável.

  6. Aguarde até que o estado de execução da exportação de dados seja Bem-sucedido.

    1. Adicione um Até ao ciclo que se repita até que o valor da variável ExecutionStatus seja Bem-sucedido.

    2. Adicione uma ação de Atraso que aguarda cinco segundos antes de consultar o estado de execução atual da exportação.

      Captura de ecrã de Até ao contentor de ciclo.

      Note

      Defina a contagem de limite como 15 para aguardar um máximo de 75 segundos (15 iterações × 5 segundos) para a exportação ser concluída. Se a exportação levar mais tempo, ajuste a contagem de limite conforme apropriado.

    3. Adicione uma ação Invocar pedido HTTP para chamar a API REST de DMF GetExecutionSummaryStatus e definir a variável ExecutionStatus como o resultado da resposta GetExecutionSummaryStatus.

      Este exemplo não faz a verificação de erros. A API GetExecutionSummaryStatus pode devolver estados de terminal sem êxito (ou seja, estados diferentes de Bem-sucedido). Para obter mais informações, consulte a documentação da API.

      • Método: POST

      • Url do pedido:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus

      • Corpo do pedido:body('Invoke_an_HTTP_request')?['value']

        Note

        Talvez seja necessário introduzir o Corpo do pedido na vista de código ou no editor de funções no designer.

      Captura de ecrã da ação Invoke an HTTP request 2.

      Captura de ecrã da ação Definir variável.

      Importante

      O valor da ação Definir variável (body('Invoke_an_HTTP_request_2')?['value']) difere do valor do corpo da ação Invocar um pedido HTTP 2, embora o estruturador apresente os valores da mesma forma.

  7. Obter o URL de transferência do pacote exportado.

    • Adicione uma ação Invocar pedido HTTP para chamar a API REST do DMF GetExportedPackageUrl.

      • Método: POST
      • URL do pedido: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • Corpo do pedido: {"executionId": body('GetExportedPackageURL')?['value']}

      Captura de ecrã da ação GetExportedPackageURL.

  8. Transfira o pacote exportado.

    • Adicione um pedido HTTP GET (uma ação de conector HTTP incorporada) para descarregar o pacote a partir do URL que o passo anterior devolve.

      • Método: GET

      • URI: body('Invoke_an_HTTP_request_3').value

        Note

        Talvez seja necessário introduzir o URI na vista de código ou no editor de funções no designer.

      Captura de ecrã da ação HTTP GET.

      Note

      Este pedido não exige nenhuma autenticação adicional, porque o URL que a API GetExportedPackageUrl devolve inclui um token de assinaturas de acesso partilhado que concede acesso à transferência do ficheiro.

  9. Guarde o pacote descarregado usando o conector OneDrive.

    • Adicionar uma ação Criar ficheiro do OneDrive.

    • Ligue-se à sua conta OneDrive, conforme necessário.

      • Caminho da Pasta: Uma pasta escolhida
      • Nome do Ficheiro: worker_package.zip
      • Conteúdo do Ficheiro: o corpo do passo anterior (conteúdo dinâmico)

      Captura de ecrã da ação Criar ficheiro.

Passo 3: Testar a aplicação lógica

Para testar a tua aplicação lógica, seleciona Executar no designer. Vê que os passos da aplicação de lógica começam a ser executados. Após 30 a 40 segundos, a aplicação lógica termina de correr e a tua pasta OneDrive inclui um novo ficheiro de pacote que contém os trabalhadores exportados.

Se for comunicada uma falha em qualquer passo, selecione o passo com falha no designer e examine os campos de Entradas e Saídas da falha. Depure e ajuste o passo conforme necessário para corrigir os erros.

A ilustração seguinte mostra o aspeto do designer do Logic Apps quando todos os passos da aplicação lógica são executados com êxito.

Captura de ecrã de uma execução bem-sucedida de uma aplicação lógica.

Resumo

Neste tutorial, aprendeste a usar uma aplicação de lógica para exportar dados de Recursos Humanos e guardar os dados exportados numa pasta do OneDrive. Pode modificar os passos deste tutorial conforme necessário para atender às suas necessidades de negócio.