정기 데이터 내보내기 앱 만들기

다음 Dynamics 365 앱에 적용됩니다.
Human Resources

이 문서에서는 정기 일정에 따라 Microsoft Dynamics 365 Human Resources에서 데이터를 내보내는 Microsoft Azure 논리 앱을 만드는 방법을 설명합니다. 이 자습서에서는 Human Resources의 DMF 패키지 REST API(애플리케이션 프로그래밍 인터페이스)를 활용하여 데이터를 내보냅니다. 데이터를 내보낸 후 논리 앱은 내보낸 데이터 패키지를 Microsoft 비즈니스용 OneDrive 폴더에 저장합니다.

비즈니스 시나리오

Microsoft Dynamics 365 통합을 위한 한 가지 일반적인 비즈니스 시나리오에서 정기 일정에 따라 데이터를 다운스트림 시스템으로 내보내야 한다고 가정해 보겠습니다. 이 자습서에서는 Microsoft Dynamics 365 Human Resources에서 모든 근로자 레코드를 내보내고 비즈니스용 OneDrive 폴더에 근로자 목록을 저장하는 방법을 보여줍니다.

이 자습서에서 내보낸 특정 데이터와 내보낸 데이터의 대상은 예시일 뿐입니다. 비즈니스 요구 사항에 맞게 쉽게 변경할 수 있습니다.

사용된 기술

이 자습서에서는 다음 기술을 사용합니다.

전제 조건

이 자습서의 연습을 시작하기 전에 다음 항목이 있어야 합니다.

  • 환경에 대한 관리자 수준 권한이 있는 Human Resources
  • 논리 앱을 호스트하기 위한 Azure 구독

연습

이 연습을 진행하면 Human Resources 및 비즈니스용 OneDrive 계정에 연결된 논리 앱을 만들 수 있습니다. 논리 앱은 Human Resources에서 데이터 패키지를 내보내고 내보내기가 완료될 때까지 기다렸다가 내보낸 데이터 패키지를 다운로드하고 지정한 비즈니스용 OneDrive 폴더에 데이터 패키지를 저장합니다.

완성된 논리 앱은 다음 그림과 비슷합니다.

논리 앱 개요.

1단계: Human Resources에서 데이터 내보내기 프로젝트 만들기

Human Resources에서 근로자를 내보내는 데이터 내보내기 프로젝트를 만듭니다. 프로젝트 이름을 근로자 내보내기로 지정하고 데이터 패키지 생성 옵션이 로 설정되어 있는지 확인합니다. 단일 엔터티(근로자)를 프로젝트에 추가하고 내보낼 형식을 선택합니다. (이 자습서에서는 Microsoft Excel 형식을 사용합니다.)

근로자 데이터 내보내기 프로젝트.

중요

데이터 내보내기 프로젝트의 이름을 기억하세요. 다음 단계에서 논리 앱을 만들 때 필요합니다.

2단계: 논리 앱 만들기

연습의 대부분은 논리 앱을 만드는 과정입니다.

  1. Azure Portal에서 논리 앱을 만듭니다.

    논리 앱 만들기 페이지.

  2. Logic Apps Designer에서 빈 논리 앱으로 시작합니다.

  3. 논리 앱을 24시간마다(또는 선택한 일정에 따라) 실행하도록 되풀이 일정 트리거를 추가합니다.

    되풀이 대화 상자.

  4. ExportToPackage DMF REST API를 호출하여 데이터 패키지 내보내기를 예약합니다.

    1. Microsoft Entra 커넥터를 사용하여 HTTP에서 HTTP 요청 호출 작업을 사용합니다.

      • 기본 리소스 URL: Human Resources 환경의 URL(경로/네임스페이스 정보를 포함하지 마세요.)
      • Microsoft Entra 리소스 URI:http://hr.talent.dynamics.com

      참고

      Human Resources 서비스는 ExportToPackage와 같이 DMF 패키지 REST API를 구성하는 모든 API를 노출하는 커넥터를 아직 제공하지 않습니다. 대신 Microsoft Entra 커넥터가 있는 HTTP를 통해 원시 HTTPS 요청을 사용하여 API를 호출해야 합니다. 이 커넥터는 Human Resources에 대한 인증과 권한 부여를 위해 Microsoft Entra ID를 사용합니다.

      HTTP with Microsoft Entra 커넥터.

    2. HTTP with Microsoft Entra 커넥터를 통해 Human Resources 환경에 로그인합니다.

    3. ExportToPackage DMF REST API를 호출하도록 HTTP POST 요청을 설정합니다.

      • 메서드: POST

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

      • 요청 본문:

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

      HTTP 요청 작업 호출.

    각 단계의 이름을 기본 이름인 HTTP 요청 호출보다 더 의미 있는 이름으로 변경할 수 있습니다. 예를 들어 이 단계의 이름을 패키지로 내보내기로 변경할 수 있습니다.

  5. 변수 초기화패키지로 내보내기 요청의 실행 상태를 저장합니다.

    변수 초기화 작업.

  6. 데이터 내보내기의 실행 상태가 성공이 될 때까지 기다립니다.

    1. ExecutionStatus 변수의 값이 성공이 될 때까지 반복되는 Until 루프를 추가합니다.

    2. 내보내기의 현재 실행 상태를 폴링하기 전에 5초 동안 대기하는 지연 작업을 추가합니다.

      Until 루프 컨테이너.

      참고

      제한 횟수를 15로 설정하여 내보내기가 완료될 때까지 최대 75초(15회 반복 × 5초)를 기다리도록 설정합니다. 내보내기에 더 많은 시간이 소요되는 경우 제한 횟수를 적절하게 조정하세요.

    3. HTTP 요청 호출 작업을 추가하여 GetExecutionSummaryStatus DMF REST API를 호출하고 ExecutionStatus 변수를 GetExecutionSummaryStatus 응답의 결과로 설정합니다.

      이 샘플은 오류 검사를 수행하지 않습니다. GetExecutionSummaryStatus API가 성공하지 못한 터미널 상태(즉, 성공 이외의 상태)를 반환할 수 있습니다. 자세한 내용은 API 설명서를 참조하세요.

      • 메서드: POST

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

      • 요청 본문: body('Invoke_an_HTTP_request')?['value']

        참고

        요청 본문 값을 코드 보기나 디자이너의 함수 편집기에 입력해야 할 수 있습니다.

      HTTP 요청 2 작업 호출.

      변수 설정 작업.

      중요

      디자이너에 값이 동일하게 표시되지만 변수 설정 작업(body('Invoke_an_HTTP_request_2')?['value'])에 대한 값은 HTTP 요청 2 호출 본문에 대한 값과는 다릅니다.

  7. 내보낸 패키지의 다운로드 URL을 가져옵니다.

    • HTTP 요청 호출 작업을 추가하여 GetExportedPackageUrl DMF REST API를 호출합니다.

      • 메서드: POST
      • 요청 Url: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • 요청 본문: {"executionId": body('GetExportedPackageURL')?['value']}

      GetExportedPackageURL 작업.

  8. 내보낸 패키지를 다운로드합니다.

    • 이전 단계에서 반환된 URL에서 패키지를 다운로드하는 HTTP GET 요청(기본 제공 HTTP 커넥터 작업)을 추가합니다.

      • 메서드: GET

      • URI: body('Invoke_an_HTTP_request_3').value

        참고

        URI 값을 코드 보기나 디자이너의 함수 편집기에 입력해야 할 수 있습니다.

      HTTP GET 작업.

      참고

      GetExportedPackageUrl API가 반환하는 URL에는 파일 다운로드에 대한 액세스 권한을 부여하는 공유 액세스 서명 토큰이 포함되어 있으므로 이 요청에는 추가 인증이 필요 없습니다.

  9. 비즈니스용 OneDrive 커넥터를 사용하여 다운로드한 패키지를 저장합니다.

    • 비즈니스용 OneDrive 파일 만들기 작업을 추가합니다.

    • 필요에 따라 비즈니스용 OneDrive 계정에 연결합니다.

      • 폴더 경로: 원하는 폴더
      • 파일 이름: worker_package.zip
      • 파일 콘텐츠: 이전 단계의 본문(동적 콘텐츠)

      파일 만들기 작업.

3단계: 논리 앱 테스트

논리 앱을 테스트하려면 디자이너의 실행 버튼을 선택합니다. 논리 앱의 단계가 실행되기 시작하는 것을 볼 수 있습니다. 30~40초 후에 논리 앱 실행이 완료되면 비즈니스용 OneDrive 폴더에 내보낸 근로자가 포함된 새 패키지 파일이 포함되어 있을 것입니다.

실패가 보고되는 단계가 있으면 디자이너에서 실패한 단계를 선택하고 입력출력 필드를 검사합니다. 오류를 수정하는 데 필요한 단계를 디버그하고 조정합니다.

다음 그림은 논리 앱의 모든 단계가 정상적으로 실행될 때 Logic Apps Designer를 보여줍니다.

정상적인 논리 앱 실행.

요약

이 자습서에서는 논리 앱을 사용하여 Human Resources에서 데이터를 내보내고 내보낸 데이터를 비즈니스용 OneDrive 폴더에 저장하는 방법을 배웠습니다. 비즈니스 요구 사항에 맞게 필요에 따라 이 자습서의 단계를 수정할 수 있습니다.