Azure Logic Apps의 워크플로에서 Microsoft Dataverse에 연결

적용 대상: Azure Logic Apps(사용량 + 표준)

Important

2022년 8월 30일, Microsoft Dataverse(레거시)라고도 하는 Common Data Service 2.0에 대한 커넥터 작업이 현재 Microsoft Dataverse 커넥터로 마이그레이션되었습니다. 레거시 작업에는 "legacy" 레이블이 지정되고 현재 작업에는 "preview" 레이블이 지정됩니다. 기존 또는 새 논리 앱 워크플로에서 현재 Dataverse 커넥터를 사용할 수 있습니다. 이전 버전과의 호환성을 위해 기존 워크플로는 계속해서 레거시 Dataverse 커넥터와 함께 작동합니다. 그러나 이러한 워크플로를 검토하고 즉시 업데이트해야 합니다.

2023년 10월부터 새 워크플로에 레거시 버전을 사용할 수 없게 되었습니다. 기존 워크플로는 계속 작동하지만 새 워크플로에 현재 Dataverse 커넥터 작업을 사용해야 합니다 . 레거시 작업 및 트리거에 대한 종료 날짜에 대한 타임라인 발표됩니다. 자세한 내용은 Azure Logic Apps용 Microsoft Dataverse(레거시) 커넥터가 더 이상 사용되지 않으며 다른 커넥터로 대체됨을 참조하세요.

Microsoft Dataverse 데이터베이스에서 행을 만들고 관리하는 자동화된 워크플로를 만들고 실행하려면 Azure Logic Apps 및 Microsoft Dataverse 커넥터사용할 수 있습니다. 이러한 워크플로는 행을 만들고, 업데이트하고, 다른 작업을 수행할 수 있습니다. 또한 Dataverse 데이터베이스에서 정보를 가져오고 워크플로에서 사용할 다른 작업에 출력을 사용할 수 있도록 설정할 수 있습니다. 예를 들어 Dataverse 데이터베이스에서 행이 추가, 업데이트 또는 삭제되면 Office 365 Outlook 커넥터를 사용하여 이메일을 보낼 수 있습니다.

이 가이드에서는 새 잠재 고객 행을 만들 때마다 작업 행을 만드는 워크플로를 만드는 방법을 보여줍니다.

커넥터 참조

작업, 제한 및 기타 세부 정보와 같은 커넥터의 Swagger 설명을 기반으로 하는 기술 정보는 관리되는 커넥터 참조 페이지를 참조 하세요.

필수 조건

Dataverse 트리거 추가

서비스 또는 시스템에 연결하는 트리거 또는 작업을 추가하고 기존 또는 활성 연결이 없는 경우 Azure Logic Apps는 연결 형식에 따라 달라지는 연결 정보를 제공하라는 메시지를 표시합니다. 예를 들면 다음과 같습니다.

  • 사용자의 계정 자격 증명
  • 연결에 사용할 이름
  • 서버 또는 시스템의 이름
  • 사용할 인증 유형
  • 연결 문자열

이 예에서는 행을 추가, 업데이트 또는 삭제할 때 워크플로를 시작하는 Dataverse 트리거를 사용합니다.

참고 항목

Dataverse 커넥터에는 작업별 매개 변수와 데이터베이스별 매개 변수가 있습니다. 예를 들어, 테이블을 선택하면 해당 테이블에 사용할 수 있는 매개 변수가 다르며 다른 테이블과 다릅니다.

  1. Azure Portal의 디자이너에서 표준 논리 앱 리소스와 빈 워크플로를 엽니다.

  2. 디자이너에서 다음 일반적인 단계에 따라 행을 추가, 수정 또는 삭제할 때라는 Microsoft Dataverse 트리거를 추가합니다.

  3. 메시지가 표시되면 Dataverse 환경 또는 데이터베이스에 로그인합니다.

  4. 트리거 정보 상자에서 필요한 값을 제공합니다.

    예제 트리거는 행이 추가, 수정 또는 삭제되는 경우를 참조 하세요.

    Screenshot shows Standard workflow designer and example trigger.

  5. 완료되면 논리 앱 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

  6. 이제 트리거가 발생할 때 수행할 워크플로에 대해 하나 이상의 작업을 추가합니다. 예를 들어 Dataverse 작업 또는 트리거의 출력을 기반으로 이메일을 보내는 작업을 추가할 수 있습니다.

Dataverse 작업 추가

서비스 또는 시스템에 연결하는 트리거 또는 작업을 추가하고 기존 또는 활성 연결이 없는 경우 Azure Logic Apps는 연결 형식에 따라 달라지는 연결 정보를 제공하라는 메시지를 표시합니다. 예를 들면 다음과 같습니다.

  • 사용자의 계정 자격 증명
  • 연결에 사용할 이름
  • 서버 또는 시스템의 이름
  • 사용할 인증 유형
  • 연결 문자열

이 예에서는 데이터베이스에 새 행을 추가하는 Dataverse 작업을 사용합니다.

참고 항목

Dataverse 커넥터에는 작업별 매개 변수와 데이터베이스별 매개 변수가 있습니다. 예를 들어, 테이블을 선택하면 해당 테이블에 사용할 수 있는 매개 변수가 다르며 다른 테이블과 다릅니다.

  1. Azure Portal의 디자이너에서 표준 논리 앱 리소스 및 워크플로를 엽니다.

  2. 디자이너에서 다음 일반적인 단계에 따라 새 행 추가라는 Microsoft Dataverse 작업을 추가합니다.

  3. 메시지가 표시되면 Dataverse 환경 또는 데이터베이스에 로그인합니다.

  4. 작업 정보 상자에서 필요한 정보를 입력합니다.

    예제 작업은 새 행 추가를 참조 하세요.

    Screenshot shows Standard workflow designer and example action.

  5. 완료되면 논리 앱 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

  6. 원하는 경우 더 많은 작업을 계속 추가합니다.

워크플로 테스트

워크플로를 테스트하고 트리거하려면 다음 단계를 수행합니다.

  1. 워크플로 메뉴에서 개요를 선택합니다.

  2. 개요 도구 모음에서 실행>실행을 선택합니다.

  3. 트리거가 워크플로를 실행하는 데 필요한 조건을 재현합니다.

필터를 기반으로 행 반환

행 나열 작업과 같이 행을 반환하는 작업의 경우 지정된 필터를 기반으로 행을 반환하는 ODATA 쿼리를 사용할 수 있습니다. 예를 들어 활성 계정에 대한 행만 반환하도록 작업을 설정할 수 있습니다. 예제 작업에 대한 자세한 내용은 행 나열을 참조 하세요.

  1. 디자이너의 작업에서 고급 매개 변수 목록을 열고 필터 속성을 선택합니다.

    Screenshot shows Standard workflow and property named Filter rows.

  2. 이제 작업에 표시되는 행 필터링 속성에서 ODATA 쿼리 식을 입력합니다. 예를 들면 다음과 같습니다.

    statuscode eq 1

    Screenshot shows Standard workflow and property named Filter rows with ODATA query.

시스템 쿼리 옵션에 대한 $filter 자세한 내용은 Web API를 사용하여 데이터 쿼리 - 결과 필터링을 참조하세요.

정렬 순서에 따라 행 반환

행 나열 작업과 같이 행을 반환하는 작업의 경우 특정 순서로 행을 반환하는 ODATA 쿼리를 사용할 수 있습니다. 이 쿼리는 작업이 반환하는 행에 따라 달라집니다. 예를 들어 계정 이름으로 구성된 행을 반환하도록 작업을 설정할 수 있습니다. 예제 작업에 대한 자세한 내용은 행 나열을 참조 하세요.

  1. 디자이너의 작업에서 고급 매개 변수 목록을 열고 정렬 기준 속성을 선택합니다.

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property.

  2. 이제 작업에 표시되는 정렬 기준 속성에서 정렬에 사용할 열 이름(예: 이름)을 입력합니다.

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property with column name.

시스템 쿼리 옵션에 대한 $orderby 자세한 내용은 Web API - Sort By를 사용하여 쿼리 데이터를 참조하세요.

필드 데이터 형식

트리거 또는 작업에서 필드 값의 데이터 형식은 필드의 필수 데이터 형식과 일치해야 합니다. 이 요구 사항은 값을 수동으로 입력하든 동적 콘텐츠 목록에서 값을 선택하든 관계없이 적용됩니다.

참고 항목

Dataverse 커넥터에는 작업별 매개 변수와 데이터베이스별 매개 변수가 있습니다. 예를 들어, 테이블을 선택하면 해당 테이블에 사용할 수 있는 매개 변수가 다르며 다른 테이블과 다릅니다.

예를 들어 작업이라는 테이블이 있다고 가정합니다. 이 테이블에는 해당 테이블에만 적용되는 필드가 있지만 다른 테이블에는 고유한 필드가 있습니다. 예제 작업 테이블의 경우 다음 테이블에서는 일부 샘플 필드 형식과 해당 필드에 해당 값에 필요한 데이터 형식에 대해 설명합니다.

필드 데이터 형식 설명
Text field 한 줄 텍스트 텍스트 데이터 형식이 있는 한 줄의 텍스트 또는 동적 콘텐츠(예: 다음 속성)가 필요합니다.

- 설명
- 범주
정수 필드 정수 정수 데이터 형식이 있는 정수 또는 동적 콘텐츠(예: 다음 속성)가 필요합니다.

- 완료율
- 기간
날짜 필드 날짜 및 시간 MM/DD/YYY 형식의 날짜 또는 날짜 데이터 형식이 있는 동적 콘텐츠(예: 다음 속성)가 필요합니다.

- 생성 날짜
- 시작 날짜
- 실제 시작
- 실제 종료
- 기한
다른 엔터티 행을 참조하는 필드 기본 키 GUID와 같은 행 ID와 조회 형식이 모두 필요합니다. 즉, 동적 콘텐츠 목록의 값이 작동하지 않습니다(예: 다음 속성).

- 소유자: 유효한 사용자 ID 또는 팀 행 ID여야 합니다.
- 소유자 유형: 각각 같은 systemusers 조회 형식이어야 teams합니다.

- 관련 항목: 계정 ID 또는 연락처 행 ID 등의 유효한 행 ID여야 합니다.
- 형식 관련: 각각 같은 accounts 조회 형식이어야 contacts합니다.

- 고객: 계정 ID 또는 연락처 행 ID 등의 유효한 행 ID여야 합니다.
- 고객 유형: 각각 accounts 또는 contacts 같은 조회 유형이어야 합니다.

예제 작업 테이블의 경우 새 행 추가 작업을 사용하여 다른 엔터티 행, 특히 사용자 행 및 계정 행과 연결된 새 행을 만듭니다. 따라서 이 작업에서는 관련 속성에 필요한 데이터 형식과 일치하는 값을 사용하여 해당 엔터티 행에 대한 ID 및 조회 유형을 지정해야 합니다.

  • 사용자 ID를 지정하는 소유자 속성과 systemusers 조회 유형을 지정하는 소유자 유형 속성에 따라 작업은 새 행을 특정 사용자와 연결합니다.

  • 예 ID를 지정하는 관련 항목 속성과 accounts 조회 유형을 지정하는 관련 항목 유형 속성에 따라, 작업은 새 행을 특정 계정과 연결합니다.

문제 해결

여러 환경의 호출

Dataverse 커넥터는 Dataverse 데이터베이스의 callbackregistrations 엔터티를 사용하여 데이터베이스 엔터티 변경에 대한 알림을 받고 요구하는 논리 앱 워크플로에 대한 정보를 저장합니다. Dataverse 조직을 복사하면 웹후크도 복사됩니다. 조직에 매핑된 워크플로를 비활성화하기 전에 조직을 복사하는 경우 복사된 웹후크가 동일한 논리 앱 워크플로를 가리키고, 그러면 여러 조직에서 알림을 받게 됩니다.

원치 않는 알림을 중지하려면 다음 단계를 수행하여 해당 알림을 보내는 조직에서 callbackregistrations 엔터티를 삭제합니다.

  1. 알림을 제거하려는 Dataverse 조직을 식별하고 로그인합니다.

  2. Chrome 브라우저에서 삭제할 콜백 등록을 찾습니다.

    1. 엔터티 내 callbackregistrations 의 데이터를 볼 수 있도록 다음 OData URI에서 모든 콜백 등록에 대한 제네릭 목록을 검토합니다.

      https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:

      참고 항목

      반환된 값이 없는 경우 이 엔터티 유형을 볼 수 있는 권한이 없거나 올바른 조직에 로그인하지 않은 것일 수 있습니다.

    2. 트리거하는 엔터티의 논리적 이름 entityname 및 논리 앱 워크플로(메시지)와 일치하는 알림 이벤트를 필터링합니다. 각 이벤트 유형은 다음과 같이 메시지 정수에 매핑됩니다.

      이벤트 유형 메시지 정수
      만들기 1
      DELETE 2
      엽데이트 3
      CreateOrUpdate 4
      CreateOrDelete 5
      UpdateOrDelete 6
      CreateOrUpdateOrDelete 7

      다음 예에서는 샘플 조직에 대해 다음 OData URI를 사용하여 nov_validation이라는 엔터티에 대한 Create 알림을 필터링하는 방법을 보여줍니다.

      https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1

      Screenshot shows browser window and OData URI in address bar.

      참고 항목

      동일한 엔터티 또는 이벤트에 대한 여러 트리거가 있는 경우 createdon_owninguser_value 특성과 같은 추가 필터를 사용하여 목록을 필터링할 수 있습니다. 소유자 사용자의 이름은 /api/data/v9.0/systemusers({id}) 아래에 나타납니다.

    3. 삭제하려는 콜백 등록의 ID를 찾은 후 다음 단계를 수행합니다.

      1. Chrome 브라우저에서 Chrome 개발자 도구(키보드: F12)를 엽니다.

      2. 창의 위쪽에서 콘솔 탭을 선택합니다.

      3. 명령줄 프롬프트에서 지정된 콜백 등록을 삭제하라는 요청을 보내는 다음 명령을 입력합니다.

        fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})

        Important

        예를 들어 OData 또는 API 응답 페이지 자체에서 UCI(통합되지 않은 클라이언트 인터페이스) 페이지에서 요청을 수행해야 합니다. 그렇지 않으면 app.js 파일의 논리가 이 작업을 방해할 수 있습니다.

    4. 콜백 등록이 더 이상 존재하지 않는지 확인하려면 콜백 등록 목록을 검사.

중복된 'callbackregistrations' 엔터티

표준 논리 앱 워크플로에서 인스턴스 재할당 또는 애플리케이션 다시 시작과 같은 특정 조건에서 Microsoft Dataverse 트리거는 중복 실행을 시작하여 Dataverse 데이터베이스에 중복 callbackregistrations 엔터티를 만듭니다. Dataverse 트리거로 시작하는 표준 워크플로를 편집하는 경우 이 callbackregistrations 엔터티가 중복되었는지 여부를 검사. 중복된 엔터티가 있는 경우 중복 callbackregistrations 엔터티를 수동으로 삭제합니다.

다음 단계