Azure Logic Apps를 사용하여 워크플로에 사용할 스키마 추가

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

플랫 파일XML 유효성 검사와 같은 워크플로 작업을 수행하려면 스키마가 필요합니다. 예를 들어 XML 유효성 검사 작업에는 문서에서 유효한 XML을 사용하고 미리 정의된 형식의 필요한 데이터가 있는지 확인하는 XML 스키마가 필요합니다. 이 스키마는 XSD(XML 스키마 정의) 언어를 사용하고 파일 이름 확장명이 .xsd인 XML 문서입니다. 플랫 파일 작업은 스키마를 사용하여 XML 콘텐츠를 인코딩 및 디코딩합니다.

이 문서에서는 스키마를 통합 계정에 추가하는 방법을 보여 줍니다. 표준 논리 앱 워크플로를 사용하는 경우 스키마를 논리 앱 리소스에 직접 추가할 수도 있습니다.

필수 조건

  • Azure 계정 및 구독 아직 구독이 없는 경우 Azure 체험 계정에 가입합니다.

  • 추가하려는 스키마 파일입니다. 스키마를 만들려면 다음 도구를 사용할 수 있습니다.

    참고 항목

    이 확장을 BizTalk Server 확장과 함께 설치하지 마세요. 두 확장이 있으면 예기치 않은 동작이 발생할 수 있습니다. 이러한 확장 중 하나만 설치되어 있는지 확인합니다.

    고해상도 모니터의 경우 Visual Studio의 맵 디자이너에서 표시 문제가 발생할 수 있습니다. 이 표시 문제를 해결하려면 DPI 인식 안 함 모드에서 Visual Studio를 다시 시작하거나, DPIUNAWARE 레지스트리 값을 추가합니다.

  • 사용량 또는 표준 논리 앱 워크플로에서 작업하는지 여부에 따라 통합 계정 리소스가 필요합니다. 일반적으로 엔터프라이즈 통합 및 B2B 워크플로에서 사용할 아티팩트를 정의하고 저장하려는 경우 이 리소스가 필요합니다.

    Important

    함께 작업하려면 통합 계정과 논리 앱 리소스가 모두 동일한 Azure 구독 및 Azure 지역에 있어야 합니다.

    • 사용량 논리 앱 워크플로에서 작업하는 경우 논리 앱 리소스에 연결된 통합 계정이 필요합니다.

    • 표준 논리 앱 워크플로에서 작업하는 경우 다음 시나리오에 따라 통합 계정을 논리 앱 리소스에 연결하거나, 스키마를 논리 앱 리소스에 직접 업로드하거나, 둘 다 수행할 수 있습니다.

      • 필요하거나 사용하려는 아티팩트가 있는 통합 계정이 이미 있는 경우 아티팩트를 사용하려는 여러 표준 논리 앱 리소스에 통합 계정을 연결할 수 있습니다. 이렇게 하면 스키마를 각 개별 논리 앱에 업로드할 필요가 없습니다. 자세한 내용은 논리 앱 리소스를 통합 계정에 연결을 참조하세요.

      • 플랫 파일 기본 제공 커넥터를 사용하면 이전에 논리 앱 리소스 또는 연결된 통합 계정에 업로드한 스키마를 선택할 수 있습니다. 그런 다음, 동일한 논리 앱 리소스 내의 모든 하위 워크플로에서 이 아티팩트를 사용할 수 있습니다.

      따라서 통합 계정이 없거나 필요한 경우 업로드 옵션을 사용할 수 있습니다. 그렇지 않은 경우 연결 옵션을 사용할 수 있습니다. 어느 쪽이든 동일한 논리 앱 리소스 내의 모든 하위 워크플로에서 이러한 아티팩트를 사용할 수 있습니다.

제한 사항

  • 제한은 통합 계정당 아티팩트(예: 스키마) 수에 적용됩니다. 자세한 내용은 Azure Logic Apps에 대한 제한 및 구성 정보를 참조하세요.

  • 사용량 또는 표준 논리 앱 워크플로에서 작업하는지 여부에 따라 스키마 파일 크기 제한이 적용될 수 있습니다.

    • 표준 워크플로를 사용하는 경우 스키마 파일 크기 제한이 적용되지 않습니다.

    • 사용량 워크플로를 사용하는 경우 다음 제한이 적용됩니다.

      • 스키마가 2MB 이하이면 Azure Portal에서 직접 통합 계정에 스키마를 추가할 수 있습니다.

      • 스키마가 2MB보다 크지만 스키마 크기 제한보다 크지 않은 경우 스키마를 업로드할 수 있는 Azure 스토리지 계정과 Blob 컨테이너가 필요합니다. 그런 다음, 해당 스키마를 통합 계정에 추가하기 위해 통합 계정에서 스토리지 계정에 연결할 수 있습니다. 이 작업의 경우 필요한 항목이 다음 표에 설명되어 있습니다.

        항목 설명
        Azure Storage 계정 이 계정에서 스키마의 Azure blob 컨테이너를 만듭니다. 스토리지 계정을 만드는 방법을 알아봅니다.
        Blob 컨테이너 이 컨테이너에 스키마를 업로드할 수 있습니다. 또한 나중에 통합 계정에 스키마를 추가할 때 이 컨테이너의 콘텐츠 URI가 필요합니다. blob 컨테이너를 만드는 방법을 알아봅니다.
        Azure Storage Explorer 이 도구를 사용하면 스토리지 계정 및 blob 컨테이너를 더 쉽게 관리할 수 있습니다. Storage Explorer를 사용하려면 다음 단계를 선택합니다.

        - Azure Portal에서 스토리지 계정을 선택합니다. 스토리지 계정 메뉴에서 Storage Explorer를 선택합니다.

        - 데스크톱 버전의 경우 Azure Storage Explorer를 다운로드 및 설치합니다. 그런 다음, Storage Explorer 시작의 단계에 따라 Storage Explorer를 스토리지 계정에 연결합니다. 자세한 정보를 알아보려면 빠른 시작: Azure Storage Explorer를 사용하여 개체 스토리지에 Blob 만들기를 참조하세요.

        더 큰 스키마를 추가하려면 Azure Logic Apps REST API - 스키마를 사용합니다. 표준 워크플로는 현재 Azure Logic Apps REST API를 사용할 수 없습니다.

  • 일반적으로 워크플로에서 통합 계정을 사용하는 경우 스키마를 해당 계정에 추가합니다. 그러나 통합 계정에 없는 스키마를 참조하거나 가져오는 경우 xsd:redefine 요소를 사용하면 다음과 같은 오류가 표시될 수 있습니다.

    An error occurred while processing the XML schemas: ''SchemaLocation' must successfully resolve if <redefine> contains any child other than <annotation>.'.

    이 오류를 해결하려면 xsd:redefine 대신 xsd:import 또는 xsd:include 요소를 사용하거나 URI를 사용해야 합니다.

스키마를 추가할 때의 고려 사항

  • 사용량 워크플로를 사용하는 경우 스키마를 연결된 통합 계정에 추가해야 합니다.

  • 표준 워크플로를 사용하는 경우 다음과 같은 옵션이 있습니다.

    • 스키마를 연결된 통합 계정에 추가합니다. 여러 표준 논리 앱 리소스 및 해당 하위 워크플로에서 스키마와 통합 계정을 공유할 수 있습니다.

    • 스키마를 논리 앱 리소스에 직접 추가합니다. 그러나 해당 스키마는 동일한 논리 앱 리소스의 하위 워크플로 간에만 공유할 수 있습니다.

통합 계정에 스키마 추가

  1. Azure Portal에서 Azure 계정 자격 증명을 사용하여 로그인합니다.

  2. 기본 Azure Portal 검색 상자에서 통합 계정을 입력하고, 통합 계정을 선택합니다.

  3. 스키마를 추가할 통합 계정을 선택합니다.

  4. 통합 계정 메뉴에서 설정 아래의 스키마를 선택합니다.

  5. 스키마 창 도구 모음에서 추가를 선택합니다.

논리 앱에 스키마 추가

사용량 워크플로의 경우 스키마의 파일 크기에 따라 최대 2MB 또는 2MB 초과, 최대 8MB의 스키마를 업로드하는 단계를 따릅니다.

2MB보다 작은 스키마 추가

  1. 스키마 추가 창에서 스키마 이름을 입력합니다. 작은 파일을 선택한 상태로 둡니다. 스키마 상자 옆에서 폴더 아이콘을 선택합니다. 업로드하려는 스키마를 찾아 선택합니다.

  2. 완료되면 확인을 선택합니다.

    스키마 업로드가 완료되면 스키마 목록에 스키마가 나타납니다.

2MB보다 큰 스키마 추가

사용량 워크플로에서 사용할 더 큰 스키마를 추가하려면 Azure Logic Apps REST API - 스키마를 사용하거나 스키마를 Azure 스토리지 계정의 Azure Blob 컨테이너에 업로드할 수 있습니다. Blob 컨테이너에 퍼블릭 읽기 권한 권한이 있는지 여부에 따라, 스키마 추가 단계가 달라집니다. 먼저 다음 Blob 컨테이너에 대한 퍼블릭 액세스 수준 설정 단계를 수행하여 Blob 컨테이너에 퍼블릭 읽기 권한이 있는지 확인합니다.

컨테이너 액세스 수준 확인

  1. Azure Storage Explorer를 엽니다. 탐색기 창에서 Azure 구독을 아직 확장하지 않은 경우 확장합니다.

  2. 스토리지 계정> {your-storage-account} >Blob 컨테이너를 펼칩니다. Blob 컨테이너를 선택합니다.

  3. Blob 컨테이너의 바로 가기 메뉴에서 공용 액세스 수준 설정을 선택합니다.

공용 액세스 권한이 있는 컨테이너에 업로드

  1. 스토리지 계정에 스키마를 업로드합니다. 오른쪽 창에서 업로드를 선택합니다.

  2. 업로드가 완료되면 업로드된 스키마를 선택합니다. 도구 모음에서 스키마 URL을 복사할 수 있도록 URL 복사를 선택합니다.

  3. 스키마 추가 창이 열려 있는 Azure Portal로 돌아갑니다. 어셈블리의 이름을 입력합니다. 대용량 파일(2MB 초과)을 선택합니다.

    이제 스키마 상자가 아닌 콘텐츠 URI 상자가 나타납니다.

  4. 콘텐츠 URI 상자에서 스키마의 URL을 붙여 넣습니다. 스키마 추가를 완료합니다.

스키마 업로드가 완료되면 스키마 목록에 스키마가 나타납니다. 통합 계정의 개요 페이지에 있는 아티팩트에서 업로드한 스키마가 표시됩니다.

공용 액세스 권한이 없는 컨테이너에 업로드

  1. 스토리지 계정에 스키마를 업로드합니다. 오른쪽 창에서 업로드를 선택합니다.

  2. 업로드를 마친 후에 스키마의 SAS(공유 액세스 서명)을 생성합니다. 스키마의 바로 가기 메뉴에서 공유 액세스 서명 가져오기를 선택합니다.

  3. 공유 액세스 서명 창에서 컨테이너 수준 공유 액세스 서명 URI 생성>만들기를 선택합니다. SAS URL이 생성되면 URL 상자 옆에서 복사를 선택합니다.

  4. 스키마 추가 창이 열려 있는 Azure Portal로 돌아갑니다. 큰 파일을 선택합니다.

    이제 스키마 상자가 아닌 콘텐츠 URI 상자가 나타납니다.

  5. 콘텐츠 URI 상자에서 이전에 생성한 SAS URI를 붙여 넣습니다. 스키마 추가를 완료합니다.

스키마 업로드가 완료되면 스키마 목록에 스키마가 나타납니다. 통합 계정의 개요 페이지에 있는 아티팩트에서 업로드한 스키마가 표시됩니다.

스키마 편집

기존 스키마를 업데이트하려면 원하는 변경 내용이 있는 새 스키마 파일을 업로드해야 합니다. 그러나 편집을 위해 기존 스키마를 먼저 다운로드할 수 있습니다.

  1. Azure Portal에서 통합 계정이 아직 열려 있지 않으면 엽니다.

  2. 통합 계정 메뉴에서 설정 아래의 스키마를 선택합니다.

  3. 스키마 창이 열리면 스키마를 선택합니다. 먼저 스키마를 다운로드하고 편집하려면 스키마 창 도구 모음에서 다운로드를 선택하고 스키마를 저장합니다.

  4. 업데이트된 스키마를 업로드할 준비가 되면 스키마 페이지에서 업데이트하려는 스키마를 선택합니다. 스키마 창 도구 모음에서 업데이트를 선택합니다.

  5. 업로드하려는 업데이트된 스키마를 찾아 선택합니다.

  6. 완료되면 확인을 선택합니다.

    스키마 파일의 업로드가 끝나면 업데이트된 스키마가 스키마 목록에 나타납니다.

스키마 삭제

  1. Azure Portal에서 통합 계정이 아직 열려 있지 않으면 엽니다.

  2. 통합 계정 메뉴에서 설정 아래의 스키마를 선택합니다.

  3. 스키마 창이 열리면 스키마를 선택한 다음 삭제를 선택합니다.

  4. 스키마를 삭제할지 확인하려면 를 선택합니다.

다음 단계