Azure Logic Apps의 워크플로에서 온-프레미스 파일 시스템에 연결

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

이 가이드에서는 파일 시스템 커넥터를 사용하여 Azure Logic Apps의 워크플로에서 온-프레미스 파일 공유에 액세스하는 방법을 보여 줍니다. 그런 다음 파일 공유 또는 다른 시스템의 이벤트에 의해 트리거될 때 실행되는 자동화된 워크플로를 만들고 작업을 실행하여 파일을 관리할 수 있습니다. 커넥터는 다음 기능을 제공합니다.

  • 파일 만들기, 가져오기, 추가, 업데이트 및 삭제를 수행합니다.
  • 폴더 또는 루트 폴더의 파일을 나열합니다.
  • 파일 콘텐츠 및 메타데이터를 가져옵니다.

이 방법 가이드의 시나리오 예는 다음 작업을 보여 줍니다.

  • 파일이 생성되거나 파일 공유에 추가되면 워크플로를 트리거한 다음, 이메일을 보냅니다.
  • Dropbox 계정에서 파일 공유로 파일을 복사할 때 워크플로를 트리거한 다음, 이메일을 보냅니다.

제한 사항 및 알려진 문제

  • 파일 시스템 커넥터는 현재 Windows 운영 체제의 Windows 파일 시스템만 지원합니다.
  • 매핑된 네트워크 드라이브는 지원되지 않습니다.
  • 내장 커넥터의 경우 루트 폴더는 최상위 파일 공유여야 합니다. 커넥터는 중첩된 루트 폴더 경로를 지원하지 않습니다. 대신 커넥터 연산에서 상대 경로를 사용하여 하위 폴더를 지정하세요.
  • 표준 논리 앱은 최대 20개의 내장 파일 시스템 연결을 지원합니다.
  • 커넥터는 동일한 루트 폴더를 다른 자격 증명으로 사용하는 여러 내장 연결을 지원하지 않습니다.

커넥터 기술 참조

File System 커넥터는 논리 앱 유형 및 호스트 환경에 따라 여러 버전이 있습니다.

논리 앱 환경 커넥터 버전
사용량 다중 테넌트 Azure Logic Apps 관리되는 커넥터는 공유 아래의 커넥터 갤러리에 표시됩니다. 자세한 내용은 다음 설명서를 검토하세요.

- 파일 시스템 관리형 커넥터 참조
- Azure Logic Apps의 관리형 커넥터
표준 Workflow Service Plan 또는 App Service Environment v3의 단일 테넌트 Azure Logic Apps(Windows 플랜 전용) 관리되는 커넥터는 공유 및 기본 제공 커넥터 아래의 커넥터 갤러리에 표시되고 서비스 공급자 기반인 커넥터 갤러리 표시됩니다. 내장 커넥터는 파일 공유에 직접 연결하여 온프레미스 데이터 게이트웨이 없이도 Azure 가상 네트워크에 접근할 수 있습니다.

자세한 내용은 다음을 참조하세요.

- 파일 시스템 관리형 커넥터 참조
- 파일 시스템 기본 제공 커넥터 참조
- 기본 제공 Azure Logic Apps의 관리형 커넥터

필수 구성 요소

  • Azure 계정 및 구독 무료 Azure 계정을 만듭니다.

  • 파일 공유에 연결하는 경우 논리 앱 및 호스팅 환경에 따라 다른 요구 사항이 적용됩니다.

    • 소비 논리 앱 워크플로:

    • 표준 논리 앱 워크플로:

      파일 시스템 기본 제공 커넥터 또는 관리되는 커넥터를 사용할 수 있습니다.

      • 파일 시스템 관리 커넥터를 사용하려면 다중 테넌트 Azure Logic Apps의 소비 논리 앱 워크플로와 동일한 요구 사항을 따릅니다.

        • 파일 시스템 내장 커넥터를 사용하려면 표준 로직 앱 워크플로우가 Windows 기반 워크플로우 서비스 계획 또는 App Service Environment v3에서 실행되어야 하며, 데이터 게이트웨이 자원은 필요하지 않습니다.

        • 파일 공유 트래픽을 통합된 가상 네트워크를 통해 라우팅하려면 1 앱 설정을 WEBSITE_CONTENTOVERVNET(으)로 설정하거나 vnetContentShareEnabled 사이트 속성을 사용하도록 설정하세요. 가상 네트워크가 파일 서버의 완전 자격 도메인 이름(FQDN)을 해결할 수 있고, 포트 445에서 SMB 트래픽을 송출할 수 있는지 확인하세요.

  • 사용하려는 파일 시스템이 있는 컴퓨터에 대한 액세스 권한. 예를 들어 파일 시스템과 동일한 컴퓨터에 데이터 게이트웨이를 설치하는 경우 해당 컴퓨터의 계정 자격 증명이 필요합니다.

  • 이 가이드의 예제 시나리오를 따르려면 Azure Logic Apps에서 지원하는 공급자(예: Office 365 Outlook, Outlook.com 또는 Gmail)의 전자 메일 계정이 필요합니다. 다른 공급자의 경우 지원되는 다른 이메일 커넥터를 검토합니다. 이 예제에서는 회사 또는 학교 계정으로 Office 365 Outlook 커넥터를 사용합니다. 다른 이메일 계정을 사용하는 경우 전체 단계는 동일하지만 UI가 약간 다를 수 있습니다.

    중요합니다

    Gmail 커넥터를 사용하려면 G-Suite 비즈니스 계정만 로직 앱에서 제한 없이 사용할 수 있습니다.

    Gmail 소비자 계정이 있는 경우 특정 Google 승인 서비스에서만 이 커넥터를 사용하거나 Gmail 커넥터 인증에 사용할 Google 클라이언트 앱을 만들 수 있습니다.

    자세한 내용은 Azure Logic Apps의 Google 커넥터에 대한 데이터 보안 및 개인정보처리방침을 참조하세요.

  • 예제 파일 시스템 작업 시나리오의 경우 Dropbox 계정이 필요합니다. 무료로 등록할 수 있습니다.

  • 파일 공유에 액세스하려는 워크플로가 있는 논리 앱 리소스입니다.

    파일 시스템 트리거를 사용하여 워크플로를 시작하려면 빈 워크플로가 있어야 합니다.

    파일 시스템 작업을 사용하기 위해 워크플로는 시나리오에 가장 적합한 트리거로 시작할 수 있습니다.

    논리 앱 리소스 및 워크플로가 없는 경우 다음 문서를 참조하세요.

파일 시스템 트리거 추가

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

  2. 워크플로에 트리거를 추가하는 일반 단계에 따라 시나리오에 파일 시스템 트리거를 추가하세요.

    자세한 내용은 파일 시스템 트리거를 참조하세요. 이 예에서는 파일이 만들어지는 경우라는 트리거를 사용하여 계속 진행합니다.

  3. 연결 정보 상자에서 필요에 따라 다음 정보를 제공합니다.

    속성 필수 설명
    연결 이름 < 연결 이름> 연결에 사용할 이름
    루트 폴더 < 루트-폴더-이름> 일반적으로 기본 부모 폴더이며 파일에서 작동하는 모든 트리거가 있는 상대 경로에 사용되는 폴더인 파일 시스템의 루트 폴더입니다.

    예를 들어 온-프레미스 데이터 게이트웨이를 설치한 경우 데이터 게이트웨이가 설치된 컴퓨터의 로컬 폴더를 사용합니다. 또는 컴퓨터에서 해당 폴더에 액세스할 수 있는 네트워크 공유 폴더(예: \PublicShare\MyFileSystem)를 사용합니다.
    인증 유형 아니요 < 인증 유형 (auth-type)> 파일 시스템 서버에서 사용하는 인증 유형(Windows)입니다.
    사용자 이름 < 도메인 및 사용자 이름> 파일 시스템이 있는 컴퓨터의 도메인 및 사용자 이름입니다.

    관리되는 파일 시스템 커넥터의 경우 백슬래시(\)와 함께 다음 값 중 하나를 사용합니다.

    - < 도메인>\<username>
    - < 로컬 컴퓨터>\<사용자 이름>

    예를 들어 파일 시스템 폴더가 온-프레미스 데이터 게이트웨이 설치와 동일한 컴퓨터에 있는 경우 <local-computer>\<username>을 사용할 수 있습니다.
    암호 < 암호> 파일 시스템이 있는 컴퓨터의 암호
    게이트웨이 아니요 - <Azure-subscription>

    - <게이트웨이-리소스-이름>
    이 섹션은 관리되는 파일 시스템 커넥터에만 적용됩니다.

    - 구독: 데이터 게이트웨이 리소스와 연결된 Azure 구독
    - 연결 게이트웨이: 데이터 게이트웨이 리소스

    다음 예제에서는 파일 시스템 관리 커넥터 트리거에 대한 연결 정보를 보여줍니다.

    파일 시스템 관리 커넥터 트리거에 대한 소비 워크플로 디자이너 및 연결 정보를 보여 주는 스크린샷.

  4. 완료되면 새로 만들기를 선택합니다.

    Azure Logic Apps는 연결을 만들고 테스트하여 연결이 제대로 작동하는지 확인합니다. 연결이 올바르게 설정되면 선택한 트리거에 대한 설정 옵션이 표시됩니다.

  5. 워크플로 빌드를 계속합니다.

    1. 트리거에 필요한 정보를 입력합니다.

      이 예에서는 파일 시스템 서버에서 폴더 경로를 선택하여 새로 만든 파일을 확인합니다. 반환할 파일 수와 확인 빈도를 지정합니다.

      소비 워크플로 디자이너와 파일을 만들 때라는 트리거를 보여 주는 스크린샷

    2. 워크플로를 테스트하려면 지정된 폴더의 파일 시스템에 파일을 만들 때 전자 메일을 보내는 Outlook 커넥터 작업을 추가합니다. 이메일 받는 사람, 제목 및 본문을 입력합니다. 자신의 이메일 주소를 사용하여 테스트할 수 있습니다.

      소비 워크플로 디자이너, 파일을 만들 때라는 관리형 커넥터 트리거 및 이메일 보내기라는 작업을 보여 주는 스크린샷.

      워크플로의 이전 단계에서 출력을 추가하려면 트리거의 편집 상자 내부를 선택합니다. 동적 콘텐츠 목록이 표시되면 사용 가능한 출력 중에서 선택합니다.

  6. 완료되면 워크플로를 저장합니다.

  7. 워크플로를 테스트하려면 워크플로를 트리거하는 파일을 업로드합니다.

성공하면 워크플로에서 새 파일에 대한 이메일을 보냅니다.

파일 시스템 작업 추가

예제 논리 앱 워크플로는 Dropbox 트리거로 시작되지만 원하는 트리거를 사용할 수 있습니다.

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

  2. 일반적인 절차를 따라 워크플로우에 맞는 파일 시스템 액션을 추가하세요.

    자세한 내용은 파일 시스템 트리거를 참조하세요. 이 예에서는 파일 만들기라는 작업을 사용하여 계속 진행합니다.

  3. 메시지가 표시되면 연결 정보를 제공합니다. 자세한 내용은 이전 섹션의 표를 참조하세요.

  4. 워크플로 빌드를 계속합니다.

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

      이 예에서는 사용할 파일 시스템 서버의 폴더 경로를 선택합니다. 여기서는 루트 폴더입니다. Dropbox에 업로드된 파일에 따라 파일 이름 및 콘텐츠를 입력합니다.

      사용 워크플로 디자이너 및 파일 만들기라는 파일 시스템 관리 커넥터 작업을 보여 주는 스크린샷.

      워크플로의 이전 단계에서 출력을 추가하려면 작업의 편집 상자 내부를 선택합니다. 동적 콘텐츠 목록이 표시되면 사용 가능한 출력 중에서 선택합니다.

    2. 워크플로를 테스트하려면 파일 시스템 작업에서 파일을 만들 때 이메일을 보내는 Outlook 작업을 추가합니다. 이메일 받는 사람, 제목 및 본문을 입력합니다. 자신의 이메일 주소를 사용하여 테스트할 수 있습니다.

      소비 워크플로 디자이너, 관리형 커넥터 파일 만들기 작업 및 이메일 보내기 작업을 보여 주는 스크린샷.

  5. 완료되면 워크플로를 저장합니다.

  6. 워크플로를 테스트하려면 워크플로를 트리거하는 파일을 업로드합니다.

성공하면 워크플로에서 DropBox에 업로드된 파일을 기반으로 하여 파일을 파일 시스템 서버에 만들고 만든 파일에 대한 이메일을 보냅니다.

내장 파일 시스템 커넥터 문제 해결

작업이 InvalidServiceProviderConnection 오류로 실패하고 C:\mounts\FileSystem와 같은 마운트 경로가 존재하지 않는다고 보고되면, 로직 앱은 파일 공유를 마운트하거나 액세스할 수 없습니다.

다음 항목을 확인합니다.

  • 루트 폴더가 파일 서버의 FQDN 또는 IP 주소와 최상위 공유 이름(예: )을 포함한 전체 UNC 경로를 사용하는지 확인하세요. \\file-server.contoso.com\MyShare 기계 이름만 쓰거나 중첩된 폴더를 포함하지 마세요.
  • 가상 네트워크 라우팅 테이블과 네트워크 보안 그룹이 논리 앱에서 포트 445의 파일 서버로 SMB 트래픽을 허용하는지 확인하세요.
  • 로직 앱의 Kudu 콘솔에서 실행 nslookup <FQDN> 후 파일 서버 이름이 해결되었는지 확인하고, 예상 경로가 아래에 있는지 C:\mounts확인하세요.
  • 트래픽이 통합 가상 네트워크를 사용해야 한다면, 사이트 WEBSITE_CONTENTOVERVNET1vnetContentShareEnabled 속성이 활성화되어 있는지 확인하세요.
  • 계정이 최상위 공유 접근 권한이 있는지 확인하세요. 계정이 중첩된 폴더에만 접근할 수 있다면, 그 폴더를 별도의 공유로 노출하고 새로 만든 최상위 공유 폴더를 루트 폴더로 사용하세요.