다음을 통해 공유


FTP

FTP(파일 전송 프로토콜)는 컴퓨터 네트워크의 클라이언트와 서버 간에 컴퓨터 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다. FTP는 클라이언트-서버 모델 아키텍처를 기반으로 하며 클라이언트와 서버 간에 별도의 제어 및 데이터 연결을 사용합니다.

이 커넥터는 다음 제품 및 지역에서 사용할 수 있습니다.

서비스 클래스 Regions
Copilot Studio 스탠다드 다음을 제외한 모든 Power Automate 지역 :
     - 미국 정부(GCC High)
     - 미국 국방부(DoD)
논리 앱 스탠다드 모든 Logic Apps 지역
Power Apps 스탠다드 다음을 제외한 모든 Power Apps 지역 :
     - 미국 정부(GCC High)
     - 미국 국방부(DoD)
Power Automate 스탠다드 다음을 제외한 모든 Power Automate 지역 :
     - 미국 정부(GCC High)
     - 미국 국방부(DoD)
커넥터 메타데이터
게시자 Microsoft

알려진 문제 및 제한 사항

  • 이 문서에서는 Azure Logic Apps, Power Automate 및 Power Apps에서 사용할 수 있는 FTP 관리 커넥터에 대한 작업만 설명합니다. FTP 기본 제공 커넥터는 Azure Logic Apps의 표준 논리 앱 워크플로에만 사용할 수 있습니다. Azure Logic Apps의 FTP 기본 제공 커넥터에 대한 자세한 내용은 Azure Logic Apps의 워크플로에서 FTP 서버에 대한 연결을 검토하세요.

  • FTP 트리거는 이제 파일 콘텐츠가 아닌 메타데이터 또는 속성만 반환합니다. 그러나 파일 콘텐츠 가져오기라는 작업을 사용하여 이러한 트리거를 따를 수 있습니다. 트리거가 목록이 아닌 한 번에 하나의 파일을 반환하도록 하려면 트리거의 "분할 켜기" 옵션을 사용하도록 설정해야 합니다. Azure Logic Apps에서 이 옵션에 대한 자세한 내용은 여러 실행 트리거를 검토하세요.

  • FTP 트리거는 하위 폴더가 아닌 지정된 폴더에서만 작동합니다. 폴더의 하위 폴더도 확인하려면 각 하위 폴더에 대해 별도의 흐름을 설정합니다.

  • 기본적으로 FTP 관리 커넥터 작업은 50MB 이하의 파일을 읽거나 쓸 수 있습니다. 50MB보다 큰 파일을 처리하려면 메시지 청크를 암시적으로 사용하는 파일 콘텐츠 가져오기라는 FTP 관리 커넥터 작업을 사용할 수 있습니다. 다른 FTP 관리 커넥터 작업도 메시지 청크 설정을 지원합니다.

  • FTP 트리거는 새로 생성, 추가 또는 업데이트된 파일을 반환할 때 지연 또는 불완전한 결과를 경험할 수 있습니다.

    FTP 트리거가 새로 추가되거나 변경된 파일을 확인하는 경우 트리거는 파일이 완료되었는지도 확인합니다. 예를 들어 트리거가 FTP 서버를 검사할 때 파일이 변경될 수 있습니다. 불완전한 파일을 반환하지 않도록 트리거는 파일의 타임스탬프를 기록하지만 파일을 즉시 반환하지는 않습니다. 대신 트리거는 트리거가 서버를 다시 확인하는 경우에만 파일을 반환합니다. 경우에 따라 이 동작으로 인해 트리거 폴링 간격의 최대 두 배까지 지연될 수 있습니다. 이 동작으로 인해 FTP 트리거의 Split On 설정을 사용하지 않도록 설정하면 FTP 트리거가 모든 파일을 동시에 반환하지 않을 수 있습니다.

  • FTP 관리 커넥터 트리거는 "마지막으로 수정한" 타임스탬프가 유지될 때 누락되거나 불완전하거나 지연된 결과를 경험할 수 있습니다.

    • 누락된 결과

      FTP 트리거는 FTP 파일 시스템을 폴링하거나 확인하고 마지막 폴링 이후 변경된 파일을 검색하여 작동합니다. FTP 관리 커넥터 트리거는 파일의 마지막으로 수정된 타임스탬프를 사용하여 파일 버전을 비교합니다.

      현재 추적된 마지막 수정된 타임스탬프보다 이전의 타임스탬프를 사용하여 파일을 만들거나 추가하거나 업데이트하는 경우 FTP 관리 커넥터 트리거는 이 파일을 검색하지 않습니다. 반면 표준 논리 앱 워크플로의 FTP 기본 제공 커넥터 트리거에는 이러한 제한이 없습니다.

      따라서 FTP 서버에서 파일을 만들거나 추가하거나 업데이트하는 외부 도구 또는 클라이언트를 사용하는 경우 파일의 마지막 수정 타임스탬프를 유지하는 도구 또는 클라이언트의 기능을 사용하지 않도록 설정해야 합니다.

      다음 표에서는 이 타임스탬프를 유지하는 몇 가지 일반적으로 사용되는 도구와 이 기능을 사용하지 않도록 설정하는 단계를 나열합니다.

      FTP 클라이언트 조치
      WinSCP 옵션>기본 설정>전송 편집>>보존 타임스탬프>사용 안 함으로 이동합니다.
      FileZilla 전송된 파일 > 의 전송 >사용 안 함으로 이동합니다.
    • 불완전하거나 지연된 결과

      FTP 트리거가 새로 생성, 추가 또는 업데이트된 파일을 확인하는 경우 트리거는 파일이 완료되었는지 여부도 확인합니다. 예를 들어 트리거가 FTP 서버를 검사할 때 파일이 변경될 수 있습니다. 불완전한 파일을 반환하지 않도록 트리거는 파일의 타임스탬프를 기록하지만 파일을 즉시 반환하지는 않습니다. 대신 트리거는 트리거가 서버를 다시 확인하는 경우에만 파일을 반환합니다.

      경우에 따라 이 동작으로 인해 트리거 폴링 간격의 거의 두 배까지 지속되는 지연이 발생할 수 있습니다. 이 동작으로 인해 FTP 트리거의 Split On 설정을 사용하지 않도록 설정하면 FTP 트리거가 모든 파일을 동시에 반환하지 않을 수 있습니다.

요구 사항

  • FTP 커넥터에는 FTP 호스트 서버 주소 및 계정 자격 증명이 필요합니다.

  • FTP 커넥터는 인터넷에서 또는 인터넷을 통해 FTP 서버에 액세스해야 합니다. 특정 IP 범위를 사용하여 FTP 서버로의 트래픽을 허용하는 방법에 대한 자세한 내용은 관리되는 커넥터 IP 주소를 검토하세요.

  • FTP 커넥터를 사용하려면 FTP 서버가 수동 모드에서 작동하거나 수락해야 합니다.

  • FTP 커넥터를 사용하려면 FTP 서버가 다음 명령을 사용하도록 설정하고 명령이 올바르게 작동할 수 있도록 공백이 포함된 폴더를 지원해야 합니다. LIST 명령의 경우 명령이 6개월보다 오래된 파일 타임스탬프에 대한 구성 요소를 반환 year 하는지 확인합니다.

    • APPE
    • DELE
    • 목록
    • MDTM
    • RENAME
    • RETR
    • 크기
    • STOR
  • 보안 FTP의 경우 암시적 FTPS가 아닌 명시적 FTPS(파일 전송 프로토콜 보안)를 설정해야 합니다. 또한 ProFTPd와 같은 일부 FTP 서버에서는 SSL(Secure Socket Layer)의 후속인 TLS(전송 계층 보안) 모드를 사용하는 경우 이 옵션을 사용하도록 설정 NoSessionReuseRequired 해야 합니다.

    FTP 커넥터는 암시적 FTPS에서 작동하지 않으며 TLS의 확장인 FTPS를 통한 명시적 FTP만 지원합니다.

FTP 연결

  • FTP 커넥터와 FTP 서버 모두의 성능을 향상시키려면 커넥터가 요청을 완료한 후 FTP 연결을 열고 활성 상태로 유지할 수 있습니다.

    FTP 서버에 대한 연결을 만들 때 표시되는 연결 프로필 상자에 요청 완료 후 연결 닫기라는 설정이 있습니다. 이 설정은 요청이 완료된 후 매번 FTP 서버 연결을 닫을지 여부를 지정합니다. 이 설정을 사용하지 않도록 설정하면 요청이 완료된 후 연결이 닫히지 않으며 나중에 사용할 수 있도록 활성 상태로 유지됩니다.

  • 워크플로 인스턴스가 병렬로 실행되는 경우 일시적인 연결 오류가 발생할 수 있습니다. 워크플로의 다른 작업이 여전히 해당 연결을 사용하는 동안에도 워크플로의 일부 작업은 강제로 연결을 닫을 수 있습니다.

    이 시나리오를 방지하려면 다음 권장 사항을 시도해 보세요.

    • 연결을 만들 때 요청 완료 설정 후 연결 닫기를 사용하도록 설정합니다.

    • 트리거 또는 작업에서 사용하도록 설정된 모든 병렬화 또는 동시성을 끕니다. Azure Logic Apps에서 이 솔루션에 대한 자세한 내용은 다음 설명서를 검토하세요.

    • 여러 병렬 흐름을 실행하지 않습니다.

청크 분할을 사용 또는 사용하지 않고 "파일 만들기" 작업 사용

파일 만들기 작업의 경우 동작은 작업의 청크 분할 허용 설정 및 만들 파일의 크기에 따라 달라집니다.

  • 청크 사용 허용:

    • 파일 크기가 50MB보다 작거나 같습니다. 작업은 단일 요청으로 파일을 업로드하고, 원래 파일 이름을 사용하며, 업로드하는 동안 파일을 잠깁니다.

    • 파일 크기가 50MB보다 큼: 작업에서 파일 이름 형식의 파일을 만듭니다.new-GUID.ms.partial, 여러 요청 또는 메시지 청크를 사용하여 파일을 업로드합니다. 작업이 마지막 청크를 업로드한 후 작업은 파일 이름을 원래 파일 이름으로 바꿉니다.

  • 청크 분할 사용 안 함 허용: 작업은 단일 요청으로 파일을 업로드하고, 원래 파일 이름을 사용하며, 업로드하는 동안 파일을 잠깁니다.

커넥터 방법 가이드

Azure Logic Apps에서 FTP 관리 커넥터 및 기본 제공 커넥터를 사용하는 방법에 대한 자세한 내용은 Azure Logic Apps의 워크플로에서 FTP 서버에 대한 연결을 검토하세요.

일반 제한

이름 가치
단일 보관 파일의 최대 폴더 수입니다. 이 제한은 '폴더 만들기'에만 적용됩니다. 가 '예'로 설정되어 있습니다. 16
대역폭 시간 간격(연결당) 내에서 커넥터 간 전송되는 최대 메가바이트 수 1000
대역폭 시간 간격(밀리초) 60000

연결을 만드는 중

커넥터는 다음 인증 유형을 지원합니다.

기본값 연결을 만들기 위한 매개 변수입니다. 모든 지역 공유할 수 없음

기본값

적용 가능: 모든 지역

연결을 만들기 위한 매개 변수입니다.

공유 가능한 연결이 아닙니다. 전원 앱이 다른 사용자와 공유되면 다른 사용자에게 새 연결을 명시적으로 만들라는 메시지가 표시됩니다.

이름 유형 Description 필수
서버 주소 문자열 서버 주소 진실
사용자 이름 문자열 사용자 이름 진실
암호 시큐어스트링 (보안 문자열) 암호 진실
FTP 서버 포트 정수 (int) FTP 포트 번호(예: 21)
SSL을 사용하도록 설정하시겠습니까? bool SSL을 사용하도록 설정하시겠습니까? (True/False)
이진 전송? bool 이진 전송을 사용하도록 설정하시겠습니까? (True/False)
인증서 유효성 검사를 사용하지 않나요? bool 인증서 유효성 검사를 사용하지 않나요? (True/False)
요청 완료 후 연결 닫기 bool 요청이 완료된 후 매번 FTP 연결을 닫나요? (True/False)

제한 한도

Name 호출 갱신 기간
연결당 API 호출 900 60초

동작

경로를 사용하여 파일 메타데이터 가져오기

이 작업은 파일 경로를 사용하여 파일의 메타데이터를 가져옵니다.

경로를 사용하여 파일 콘텐츠 가져오기

이 작업은 파일 경로를 사용하여 파일의 콘텐츠를 가져옵니다.

루트 폴더의 파일 나열

이 작업은 루트 폴더의 파일 및 하위 폴더 목록을 가져옵니다.

파일 만들기

이 작업은 파일을 만듭니다. 파일을 만든 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 새로 만든 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

파일 메타데이터 가져오기

이 작업은 파일에 대한 메타데이터를 가져옵니다.

파일 복사

이 작업은 FTP 서버에 파일을 복사합니다. 파일이 복사된 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 새로 만든 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

파일 삭제

이 작업은 파일을 삭제합니다.

파일 업데이트

이 작업은 파일을 업데이트합니다. 파일이 업데이트된 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 최근에 업데이트된 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

파일 콘텐츠 가져오기

이 작업은 파일의 콘텐츠를 가져옵니다.

폴더에 보관 추출

이 작업은 보관 파일을 폴더(예: .zip)로 추출합니다.

폴더의 파일 나열

이 작업은 폴더의 파일 및 하위 폴더 목록을 가져옵니다.

경로를 사용하여 파일 메타데이터 가져오기

이 작업은 파일 경로를 사용하여 파일의 메타데이터를 가져옵니다.

매개 변수

Name 필수 형식 Description
파일 경로
path True string

파일 선택

반환

Blob 메타데이터

경로를 사용하여 파일 콘텐츠 가져오기

이 작업은 파일 경로를 사용하여 파일의 콘텐츠를 가져옵니다.

매개 변수

Name 필수 형식 Description
파일 경로
path True string

파일 선택

콘텐츠 형식 유추
inferContentType boolean

확장에 따라 콘텐츠 형식 유추

반환

파일의 내용입니다.

File Content(파일 내용)
binary

루트 폴더의 파일 나열

이 작업은 루트 폴더의 파일 및 하위 폴더 목록을 가져옵니다.

반환

파일 만들기

이 작업은 파일을 만듭니다. 파일을 만든 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 새로 만든 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

매개 변수

Name 필수 형식 Description
폴더 경로
folderPath True string

폴더 선택

파일 이름
name True string

파일의 이름

파일 콘텐츠
body True binary

파일의 내용

모든 파일 메타데이터 가져오기
ReadFileMetadataFromServer boolean

파일 만들기가 완료된 후 SFTP 서버에서 모든 파일 메타데이터를 가져옵니다. false이면 마지막 수정 시간 등과 같은 일부 메타데이터 속성이 반환되지 않을 수 있습니다.

반환

Blob 메타데이터

파일 메타데이터 가져오기

이 작업은 파일에 대한 메타데이터를 가져옵니다.

매개 변수

Name 필수 형식 Description
File
id True string

파일 선택

반환

Blob 메타데이터

파일 복사

이 작업은 FTP 서버에 파일을 복사합니다. 파일이 복사된 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 새로 만든 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

매개 변수

Name 필수 형식 Description
원본 URL
source True string

원본 파일에 대한 URL

대상 파일 경로
destination True string

대상 파일 이름을 포함한 대상 파일 경로

덮어쓸?
overwrite boolean

'true'로 설정된 경우 대상 파일을 덮어씁니다.

반환

Blob 메타데이터

파일 삭제

이 작업은 파일을 삭제합니다.

매개 변수

Name 필수 형식 Description
File
id True string

파일 선택

파일 업데이트

이 작업은 파일을 업데이트합니다. 파일이 업데이트된 직후 서버에서 삭제/이름을 바꾸는 경우 커넥터는 디자인상 HTTP 404 오류를 반환할 수 있습니다. 최근에 업데이트된 파일을 삭제하거나 이름을 바꾸기 전에 1분 동안 지연을 사용하세요.

매개 변수

Name 필수 형식 Description
File
id True string

파일 선택

파일 콘텐츠
body True binary

파일의 내용

반환

Blob 메타데이터

파일 콘텐츠 가져오기

이 작업은 파일의 콘텐츠를 가져옵니다.

매개 변수

Name 필수 형식 Description
File
id True string

파일 선택

콘텐츠 형식 유추
inferContentType boolean

확장에 따라 콘텐츠 형식 유추

반환

파일의 내용입니다.

File Content(파일 내용)
binary

폴더에 보관 추출

이 작업은 보관 파일을 폴더(예: .zip)로 추출합니다.

매개 변수

Name 필수 형식 Description
원본 보관 파일 경로
source True string

보관 파일의 경로

대상 폴더 경로
destination True string

대상 폴더의 경로

덮어쓸?
overwrite boolean

'true'로 설정된 경우 대상 파일을 덮어씁니다.

폴더를 만들나요?
createFolders boolean

'true'로 설정된 경우 보관에서 폴더를 추출합니다.

반환

폴더의 파일 나열

이 작업은 폴더의 파일 및 하위 폴더 목록을 가져옵니다.

매개 변수

Name 필수 형식 Description
폴더
id True string

폴더 선택

반환

트리거

파일이 추가되거나 수정되는 경우(속성에만 해당)

이 작업은 폴더에 하나 이상의 파일이 추가되거나 수정될 때 흐름을 트리거합니다. 이 트리거는 파일 메타데이터만 가져옵니다. 파일 콘텐츠를 가져오기 위해 "파일 콘텐츠 가져오기" 작업을 사용할 수 있습니다. 트리거는 파일의 마지막으로 수정된 시간을 사용합니다. 타사 클라이언트에서 파일을 만드는 경우 클라이언트에서 마지막으로 수정한 시간 보존을 사용하지 않도록 설정해야 합니다. 하위 폴더에서 파일이 추가/업데이트되면 트리거가 실행되지 않습니다. 하위 폴더에서 트리거해야 하는 경우 여러 트리거를 만들어야 합니다.

파일이 추가되거나 수정되는 경우 [사용되지 않음]

이 작업은 폴더에서 파일을 추가하거나 수정할 때 흐름을 트리거합니다. 트리거는 파일 메타데이터와 파일 내용을 모두 가져옵니다. 트리거는 파일의 마지막으로 수정된 시간을 사용합니다. 타사 클라이언트에서 파일을 만드는 경우 클라이언트에서 마지막으로 수정한 시간 보존을 사용하지 않도록 설정해야 합니다. 50MB보다 큰 파일은 트리거에서 건너뜁니다. 하위 폴더에서 파일이 추가/업데이트되면 트리거가 실행되지 않습니다. 하위 폴더에서 트리거해야 하는 경우 여러 트리거를 만들어야 합니다.

파일이 추가되거나 수정되는 경우(속성에만 해당)

이 작업은 폴더에 하나 이상의 파일이 추가되거나 수정될 때 흐름을 트리거합니다. 이 트리거는 파일 메타데이터만 가져옵니다. 파일 콘텐츠를 가져오기 위해 "파일 콘텐츠 가져오기" 작업을 사용할 수 있습니다. 트리거는 파일의 마지막으로 수정된 시간을 사용합니다. 타사 클라이언트에서 파일을 만드는 경우 클라이언트에서 마지막으로 수정한 시간 보존을 사용하지 않도록 설정해야 합니다. 하위 폴더에서 파일이 추가/업데이트되면 트리거가 실행되지 않습니다. 하위 폴더에서 트리거해야 하는 경우 여러 트리거를 만들어야 합니다.

매개 변수

Name 필수 형식 Description
폴더
folderId True string

폴더 선택

반환할 파일 수
maxFileCount integer

단일 트리거 실행(1-100)으로 반환할 최대 파일 수입니다. '분할 켜기' 설정은 트리거가 각 항목을 개별적으로 처리하도록 강제할 수 있습니다.

반환

Blob 메타데이터

파일 목록
BlobMetadata

파일이 추가되거나 수정되는 경우 [사용되지 않음]

이 작업은 폴더에서 파일을 추가하거나 수정할 때 흐름을 트리거합니다. 트리거는 파일 메타데이터와 파일 내용을 모두 가져옵니다. 트리거는 파일의 마지막으로 수정된 시간을 사용합니다. 타사 클라이언트에서 파일을 만드는 경우 클라이언트에서 마지막으로 수정한 시간 보존을 사용하지 않도록 설정해야 합니다. 50MB보다 큰 파일은 트리거에서 건너뜁니다. 하위 폴더에서 파일이 추가/업데이트되면 트리거가 실행되지 않습니다. 하위 폴더에서 트리거해야 하는 경우 여러 트리거를 만들어야 합니다.

매개 변수

Name 필수 형식 Description
폴더
folderId True string

폴더 선택

파일 콘텐츠 포함
includeFileContent boolean

true로 설정하면 트리거 응답과 함께 파일 콘텐츠도 검색됩니다.

콘텐츠 형식 유추
inferContentType boolean

확장에 따라 콘텐츠 형식 유추

반환

파일의 내용입니다.

File Content(파일 내용)
binary

정의

BlobMetadata

Blob 메타데이터

Name 경로 형식 Description
아이디
Id string

파일 또는 폴더의 고유 ID입니다.

이름
Name string

파일 또는 폴더의 이름입니다.

디스플레이 이름
DisplayName string

파일 또는 폴더의 표시 이름입니다.

경로
Path string

파일 또는 폴더의 경로입니다.

마지막 수정
LastModified date-time

파일 또는 폴더가 마지막으로 수정된 날짜와 시간입니다.

Size
Size integer

파일 또는 폴더의 크기입니다.

미디어 유형
MediaType string

파일 또는 폴더의 미디어 형식입니다.

IsFolder
IsFolder boolean

Blob이 폴더인지 여부를 나타내는 부울 값(true, false)입니다.

ETag
ETag string

파일 또는 폴더의 etag입니다.

FileLocator
FileLocator string

파일 또는 폴더의 파일로케이터입니다.

이진법

기본 데이터 형식 'binary'입니다.