Azure Logic Apps를 사용하여 Azure Cosmos DB 문서 처리 및 만들기

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

Azure Logic Apps의 워크플로에서 Azure Cosmos DB에 연결하고 Azure Cosmos DB 커넥터를 사용하여 문서 작업을 할 수 있습니다. 이 커넥터는 워크플로가 Azure Cosmos DB 작업에 사용할 수 있는 트리거 및 작업을 제공합니다. 예를 들어, 작업에는 문서 만들기 또는 업데이트, 읽기, 쿼리 및 삭제가 포함됩니다.

관리 커넥터 작업을 사용하여 논리 앱(사용량)논리 앱(표준) 리소스 종류 모두에서 Azure Cosmos DB에 연결할 수 있습니다. 논리 앱(표준)의 경우 Azure Cosmos DB는 기본 제공 작업도 제공합니다. 이 작업은 현재 미리 보기로 제공되며 다양한 기능, 더 나은 성능 및 더 높은 처리량을 제공합니다. 예를 들어, 논리 앱(표준) 리소스 종류로 작업하는 경우 기본 제공 트리거를 사용하여 Azure Cosmos DB 컨테이너의 변경 내용에 응답할 수 있습니다. Azure Cosmos DB 작업을 논리 앱 워크플로의 다른 작업 및 트리거와 결합하여 이벤트 소싱 및 일반 데이터 처리와 같은 시나리오를 사용할 수 있습니다.

제한 사항

  • 현재 논리 앱(표준) 리소스의 상태 저장 워크플로만 관리 커넥터 작업과 기본 제공 작업을 모두 사용할 수 있습니다. 상태 비저장 워크플로는 기본 제공 작업만 사용할 수 있습니다.

  • Azure Cosmos DB 커넥터는 Azure Cosmos DB for NoSQL로 만들어진 Azure Cosmos DB 계정만 지원합니다.

필수 조건

Azure Cosmos DB 트리거 추가

Azure Logic Apps에서 모든 워크플로는 특정 이벤트가 발생하거나 특정 조건이 충족될 때 실행되는 트리거로 시작해야 합니다.

논리 앱(표준) 리소스 종류로 작업하는 경우 항목이 만들어지거나 수정될 때(미리 보기)라는 기본 제공 트리거를 사용할 수 있으며 Azure Cosmos DB 변경 피드 패턴을 기반으로 합니다. 이 트리거는 논리 앱(사용량) 리소스 종류에 사용할 수 없습니다.

논리 앱(사용량) 리소스 종류에 사용할 수 있는 Azure Cosmos DB 트리거가 없습니다.

Azure Cosmos DB 작업 추가

Azure Logic Apps에서 작업은 트리거 또는 다른 작업을 수행하는 워크플로의 한 단계입니다. Azure Cosmos DB 커넥터는 논리 앱(사용량)논리 앱(표준) 리소스 종류 모두에 대한 작업을 제공합니다. 각 리소스 종류에 대한 다음 예에서는 문서를 만들거나 업데이트하는 작업을 사용하는 방법을 보여 줍니다.

다중 테넌트 Azure Logic Apps의 Logic Apps 워크플로에 Azure Cosmos DB 작업을 추가하려면 다음 단계를 사용합니다.

  1. Azure Portal에서 디자이너의 워크플로를 엽니다.

  2. 워크플로가 비어 있으면 원하는 트리거를 추가합니다.

    이 예는 HTTP 요청이 수신된 경우 트리거로 시작합니다.

  3. Azure Cosmos DB 작업을 추가하려는 트리거 또는 작업 아래에서 새 단계를 선택하거나 단계 사이에 있는 경우 작업 추가를 선택합니다.

  4. 디자이너 검색 상자에 Azure Cosmos DB를 입력합니다. 사용하려는 Azure Cosmos DB 작업을 선택합니다.

    이 예에서는 문서 만들기 또는 업데이트(V3)라는 작업을 사용합니다.

    Screenshot showing the designer for a Consumption logic app workflow with the available Azure Cosmos DB actions.

  5. 연결 세부 정보를 묻는 메시지가 표시되면 지금 Azure Cosmos DB 계정에 대한 연결을 만듭니다.

  6. 작업에 필요한 정보를 입력합니다.

    속성 필요함 설명
    Azure Cosmos DB 계정 이름 연결 설정 사용(<Azure-Cosmos-DB-account-name>)을 선택하거나 수동으로 이름을 입력합니다. Azure Cosmos DB 계정의 계정 이름입니다.
    데이터베이스 ID <database-ID> 연결하려는 데이터베이스입니다.
    컨테이너 ID <container-ID> 쿼리할 컨테이너입니다.
    Document <JSON 문서> 만들려는 JSON 문서입니다. 이 예에서는 트리거 출력의 요청 본문을 사용합니다.

    도움말: HTTP 트리거의 본문 토큰이 추가할 동적 콘텐츠 목록에 나타나지 않으면 트리거 이름 옆에 있는 자세히 보기를 선택합니다.

    참고: 본문이 올바른 형식의 JSON인지, 최소한 id 속성과 문서의 파티션 키 속성이 포함되어 있는지 확인합니다. 지정된 id 및 파티션 키가 있는 문서가 이미 있는 경우 문서가 업데이트됩니다. 그렇지 않으면 새 문서가 만들어집니다.

    다음 이미지는 예 작업을 보여 줍니다.

    Screenshot showing the designer for a Consumption logic app workflow with the Azure Cosmos DB 'Create or update documents (V3)' action and parameters configuration.

  7. 필요에 따라 다른 작업 설정을 구성합니다.

  8. 디자이너 도구 모음에서 저장을 선택합니다.

  9. 논리 앱을 테스트하여 워크플로가 지정된 컨테이너에 문서를 만드는지 확인합니다.

Azure Cosmos DB에 커넥트

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

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

Azure Cosmos DB 트리거 또는 Azure Cosmos DB 작업을 구성하려면 먼저 데이터베이스 계정에 연결해야 합니다.

논리 앱(사용량) 워크플로에서 Azure Cosmos DB 연결에는 다음 속성 값이 필요합니다.

속성 필요함 Description
연결 이름 <connection-name> 연결에 사용할 이름입니다.
인증 유형 <connection-type> 사용하려는 인증 유형입니다. 이 예에서는 액세스 키를 사용합니다.

- 액세스 키를 선택한 경우 나머지 필수 속성 값을 제공하여 연결을 만듭니다.

- Microsoft Entra 통합을 선택하는 경우 다른 속성 값이 필요하지 않지만 Microsoft Entra 인증 및 Azure Cosmos DB 커넥터에 대한 단계에 따라 연결을 구성해야 합니다.

Azure Cosmos DB 계정에 대한 액세스 키 <access-key> 이 연결에 사용할 Azure Cosmos DB 계정의 액세스 키입니다. 이 값은 읽기-쓰기 키 또는 읽기 전용 키입니다.

참고: 키를 찾으려면 Azure Cosmos DB 계정 페이지로 이동합니다. 탐색 메뉴의 설정에서 를 선택합니다. 사용 가능한 키 값 중 하나를 복사합니다.

계정 ID: <acccount-ID> 이 연결에 사용할 Azure Cosmos DB 계정의 이름입니다.

다음 이미지는 연결 예를 보여 줍니다.

Screenshot showing an example Azure Cosmos DB connection configuration for a Consumption logic app workflow.

참고 항목

연결을 만든 후 대신 사용하려는 다른 기존 Azure Cosmos DB 연결이 있거나 다른 새 연결을 만들려면 트리거 또는 작업 세부 정보 편집기에서 연결 변경을 선택합니다.

커넥터 참조

트리거, 작업 및 제한과 같은 Azure Cosmos DB 관리 커넥터 작업에 대한 참조 정보는 커넥터 참조 페이지를 검토합니다.

Azure Cosmos DB 기본 제공 작업에 해당하는 참조 페이지가 없습니다. 대신 자세한 내용은 다음 표를 검토합니다.

Type Name 매개 변수
트리거 항목이 만들어지거나 수정된 경우 - 데이터베이스 ID: 필수입니다. 모니터링 및 임대 컨테이너가 있는 데이터베이스의 이름입니다.
- 모니터링 컨테이너 ID: 필수입니다. 모니터링되는 컨테이너의 이름입니다.
- 임대 컨테이너 ID: 필수입니다. 임대를 저장하는 데 사용되는 컨테이너의 이름입니다.
- 임대 컨테이너 만들기: 필수입니다. true인 경우 아직 존재하지 않는 경우 임대 컨테이너를 만듭니다.
- 임대 컨테이너 처리량: 선택 사항입니다. 임대 컨테이너가 만들어질 때 할당할 요청 단위 수입니다.
작업 항목 만들기 또는 업데이트 - 데이터베이스 ID: 필수입니다. 데이터베이스의 이름입니다.
- 컨테이너 ID: 필수입니다. 컨테이너의 이름입니다.
- 항목: 필수입니다. 만들거나 업데이트할 항목입니다.
- 파티션 키: 선택 사항입니다. 요청된 항목의 파티션 키 값입니다.
- Upsert: 선택 사항입니다. true인 경우 항목이 있으면 바꿉니다. 그렇지 않으면 항목을 만듭니다.
작업 많은 항목을 대량으로 만들기 또는 업데이트 이 작업은 높은 처리량 시나리오에 최적화되어 있으며 작업이 Azure Cosmos DB 컨테이너에서 만들 항목을 제출하기 전에 추가 처리가 있습니다. 항목 수가 많은 경우 이러한 추가 처리로 총 요청 시간이 단축됩니다. 항목 수가 적은 경우 이러한 추가 오버헤드로 인해 여러 단일 항목 만들기 작업을 사용하는 것보다 성능이 느려질 수 있습니다.

- 데이터베이스 ID: 필수입니다. 데이터베이스의 이름입니다.
- 컨테이너 ID: 필수입니다. 컨테이너의 이름입니다.
- 항목: 필수입니다. 만들거나 업데이트할 항목의 배열입니다.
- Upsert: 선택 사항입니다. true인 경우 항목이 있으면 바꿉니다. 그렇지 않으면 항목을 만듭니다.

작업 항목 읽기 - 데이터베이스 ID: 필수입니다. 데이터베이스의 이름입니다.
- 컨테이너 ID: 필수입니다. 컨테이너의 이름입니다.
- 항목 ID: 필수입니다. 요청된 항목의 id 값입니다.
- 파티션 키: 필수입니다. 요청된 항목의 파티션 키 값입니다.
작업 항목 삭제 - 데이터베이스 ID: 필수입니다. 데이터베이스의 이름입니다.
- 컨테이너 ID 필수 항목입니다. 컨테이너의 이름입니다.
- 항목 ID: 필수입니다. 요청된 항목의 id 값입니다.
- 파티션 키: 필수입니다. 요청된 항목의 파티션 키 값입니다.
작업 쿼리 항목 - 데이터베이스 ID: 필수입니다. 데이터베이스의 이름입니다.
- 컨테이너 ID: 필수입니다. 컨테이너의 이름입니다.
- Sql 쿼리: 필수입니다. Azure Cosmos DB SQL 쿼리 텍스트입니다.
- 파티션 키: 선택 사항입니다. 요청에 대한 파티션 키 값(있는 경우).
- 연속 토큰: 선택 사항입니다. Azure Cosmos DB 서비스에서 제공하는 이 쿼리에 대한 연속 토큰입니다(있는 경우).
- 최대 항목 수: 선택 사항입니다. 쿼리가 반환할 최대 항목 수입니다.

Azure Cosmos DB 기본 제공 작업에 대한 모범 사례

항목 쿼리 작업에서 반복 가능한 결과 가져오기

논리 앱(표준) 워크플로의 기본 제공 쿼리 항목 작업에는 후속 작업에서 사용할 수 있는 많은 동적 콘텐츠 출력이 있습니다. 쿼리 결과 항목 또는 항목 메타데이터를 반복 가능한 개체로 가져오려면 다음 단계를 사용합니다.

  1. Azure Portal에서 디자이너의 워크플로를 엽니다.

  2. 워크플로가 비어 있으면 원하는 트리거를 추가합니다.

    이 예제는 되풀이 트리거시작합니다.

  3. Azure Cosmos DB 작업을 추가하려는 트리거 또는 작업에서 새 단계 삽입(+) >작업 추가를 선택합니다.

  4. 디자이너에서 작업 추가가 선택되었는지 확인합니다. 작업 추가 창이 열리면 작업 선택 검색 상자에서 기본 제공을 선택하여 Azure Cosmos DB 작업을 찾습니다.

  5. 검색 상자에 .를 입력 Azure Cosmos DB합니다. 쿼리 항목(미리 보기) 작업을 선택합니다.

  6. 연결 세부 정보를 묻는 메시지가 표시되면 Azure Cosmos DB 계정에 대한 연결을 만듭니다.

  7. 작업에 필요한 정보를 입력합니다.

    속성 Required 설명
    데이터베이스 ID <database-ID> 연결하려는 데이터베이스입니다.
    컨테이너 ID <container-ID> 쿼리할 컨테이너입니다.
    SQL 쿼리 <sql-query> 요청에 대한 SQL 쿼리입니다.

    다음 이미지는 예 작업을 보여 줍니다.

    Screenshot showing the designer for a Standard logic app workflow with the Azure Cosmos DB 'Query items' action and parameters configuration.

  8. 필요에 따라 다른 작업 설정을 구성합니다.

  9. 작업 아래에서 새 단계 삽입(+) >작업 추가를 선택합니다. 열리는 작업 추가 창에서 모든 쿼리 결과 항목에 대해 실행할 작업을 선택합니다.

이 예에서는 항목 삭제(미리 보기)라는 Azure Cosmos DB 기본 제공 작업을 사용합니다.

  1. 이전에 추가한 작업에서 쿼리 작업 출력의 데이터에 액세스할 수 있습니다. 동적 콘텐츠 목록이 나타나도록 해당 작업의 입력 필드 내부를 클릭합니다. 사용 가능한 응답 항목을 선택하거나 자세히 보기를 선택하여 더 많은 옵션을 확인합니다.

이 예에서는 Item Id 필드의 Response Item Id를 사용하여 쿼리 결과에 따라 ID를 채웁니다.

Screenshot showing the designer for a Standard logic app workflow with the Azure Cosmos DB **Query items** action dynamic content outputs.

  1. 응답 항목을 선택하면 For each 작업이 자동으로 추가되어 모든 쿼리 결과를 반복합니다. For each 루프에는 이전에 추가한 작업이 포함되어 있습니다. 루프에 원하는 다른 작업을 추가할 수 있습니다.

  2. 디자이너 도구 모음에서 저장을 선택합니다.

  3. 논리 앱을 테스트하여 워크플로가 예상한 출력을 반환하는지 확인합니다.

다음 단계