Criar um aplicativo de exportação de dados recorrente

Aplica-se a estes aplicativos do Dynamics 365:
Recursos Humanos

Este artigo descreve como criar um aplicativo lógico do Microsoft Azure que exporta dados do Microsoft Dynamics 365 Human Resources em uma agenda recorrente. O tutorial tira proveito da interface de programação de aplicativo (API) REST de recursos humanos para exportar os dados. Depois que os dados são exportados, o aplicativo lógico salva o pacote de dados exportado em uma pasta Microsoft OneDrive.

Cenário de negócios

Em um cenário de negócios típico para integrações de Microsoft Dynamics 365, você precisa exportar dados para um sistema downstream em um agendamento recorrente. Este tutorial mostra como exportar todos os registros de trabalho de Microsoft Dynamics 365 Human Resources e salvar a lista de trabalhadores em uma pasta OneDrive.

Dica

Os dados específicos que você exporta neste tutorial e o destino dos dados exportados são apenas exemplos. Você pode alterá-las facilmente para atender às suas necessidades comerciais.

Tecnologias usadas

Este tutorial usa as seguintes tecnologias:

Pré-requisitos

Antes de começar o exercício neste tutorial, verifique se você tem os seguintes itens:

  • Um ambiente de Human Resources que tem permissões de nível de administrador no ambiente
  • Uma Assinatura do Azure para hospedar o aplicativo lógico

O exercício

Ao final deste exercício, você terá um aplicativo lógico que está conectado ao seu ambiente de Recursos Humanos e à sua conta OneDrive. O aplicativo lógico exportará um pacote de dados de Recursos Humanos, aguardará a conclusão da exportação, baixará o pacote de dados exportado e salvará o pacote de dados na pasta OneDrive especificada.

O aplicativo lógico concluído é semelhante à ilustração a seguir.

Captura de tela da visão geral do aplicativo lógico concluído.

Etapa 1: Criar um projeto de exportação de dados em recursos humanos

Em Human Resources, crie um projeto de exportação de dados que exporta trabalhadores. Nomeie o projeto Export Workers e defina a opção Gerar pacote de dados como Sim. Adicione uma única entidade (Trabalhador) ao projeto e selecione o formato a ser exportado. (Este tutorial usa o formato Microsoft Excel.)

Captura de tela do projeto de dados Export Workers.

Importante

Lembre o nome do projeto de exportação de dados. Você precisa dele quando cria o aplicativo lógico na próxima etapa.

Etapa 2: Criar o aplicativo lógico

A maior parte deste exercício envolve a criação do aplicativo lógico.

  1. No portal do Azure, crie um aplicativo lógico.

    Captura de tela da página de criação do aplicativo lógico.

  2. No designer de aplicativos lógicos, comece com um aplicativo lógico em branco.

  3. Adicione um Disparador de agenda recorrência para executar o aplicativo lógica a cada 24 horas (ou de acordo com um plano de sua escolha).

    Captura de tela da caixa de diálogo de Recorrência.

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

    1. Use a ação Invocar uma solicitação HTTP do HTTP com conector do Microsoft Entra.

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

      Note

      O serviço de 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, você deve chamar as APIs usando solicitações HTTPS brutas por meio do HTTP com o conector do Microsoft Entra. Esse conector usa o Microsoft Entra ID para autenticação e autorização para o Human Resources.

    2. Entre no seu ambiente de Human Resources por meio do HTTP com o conector do Microsoft Entra.

    3. Configure uma solicitação HTTP LANÇAR para chamar a API REST de DMF ExportToPackage.

      • Método: LANÇAR

      • Url da solicitação:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage

      • Corpo da solicitação:

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

    Dica

    Você pode desejar renomear cada etapa para que seja mais significativo do que o nome padrão, Invocar uma solicitação HTTP. Por exemplo, você pode renomear essa etapa ExportToPackage.

  5. Inicialize uma variável para armazenar o status de execução da solicitação ExportToPackage.

    Captura de tela da ação

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

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

    2. Adicionar uma ação de Atraso que aguarda cinco segundos antes de sondar o status de execução atual da exportação.

      Captura de tela do contêiner de loop Until.

      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 limites conforme apropriado.

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

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

      • Método: LANÇAR

      • Url da solicitação:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus

      • Corpo da solicitação:body('Invoke_an_HTTP_request')?['value']

        Note

        Talvez seja necessário inserir o Corpo da solicitação no modo de exibição de código ou no editor de funções no designer.

      Captura de tela da ação Invocar uma solicitação HTTP 2.

      Captura de tela 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 para o valor do corpo Invocar uma solicitação HTTP 2 , embora o designer mostre os valores da mesma maneira.

  7. Obter a URL de download do pacote exportado.

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

      • Método: LANÇAR
      • URL da solicitação: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • Corpo da solicitação: {"executionId": body('GetExportedPackageURL')?['value']}

      Captura de tela da ação GetExportedPackageURL.

  8. Baixe o pacote exportado.

    • Adicione uma solicitação HTTP GET (uma ação interna do conector HTTP) para baixar o pacote da URL retornada pela etapa anterior.

      • Método: OBTER

      • URI: body('Invoke_an_HTTP_request_3').value

        Note

        Talvez seja necessário inserir o URI no modo de exibição de código ou no editor de funções no designer.

      Captura de tela da ação HTTP GET.

      Note

      Essa solicitação não exige nenhuma autenticação adicional, porque a URL que a GetExportedPackageUrl retorna inclui um token de assinaturas de acesso compartilhado que concede acesso ao download do arquivo.

  9. Salve o pacote baixado usando OneDrive conector.

    • Adicione uma ação de arquivo do OneDrive Create File.

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

      • Caminho da pasta: Uma pasta escolhida
      • Nome do Arquivo: worker_package.zip
      • Conteúdo do arquivo: O corpo da etapa anterior (conteúdo dinâmico)

      Captura de tela da ação Criar arquivo.

Etapa 3: Testar o aplicativo lógico

Para testar seu aplicativo lógico, selecione Executar no designer. Você verá que as etapas do aplicativo lógico começam a ser executadas. Após 30 a 40 segundos, o aplicativo lógico termina de ser executado e sua pasta OneDrive inclui um novo arquivo de pacote que contém os trabalhadores exportados.

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

A ilustração a seguir mostra a aparência do designer de Aplicativos Lógicos quando todas as etapas do aplicativo lógico são executadas com êxito.

Captura de tela de uma execução bem-sucedida do aplicativo lógico.

Resumo

Neste tutorial, você aprendeu a usar um aplicativo lógico para exportar dados de Recursos Humanos e salvar os dados exportados em uma pasta OneDrive. Você pode modificar as etapas deste tutorial conforme necessário para atender às suas necessidades comerciais.