PutSFTP 프로세서
PutSFTP 프로세서
PutSFTP는 FlowFile을 SFTP 서버로 보내는 OpenFlow 프로세서예요.
출처: Snowflake 문서
본문
이 프로세서는 일반 사용 가능(Generally Available) 상태예요. OpenFlow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있고, OpenFlow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있어요.
Bundle org.apache.nifi | nifi-standard-nar
설명
FlowFile을 SFTP 서버로 보내요.
Tags archive, copy, egress, files, put, remote, sftp
입력 요구 사항 필수(REQUIRED)
민감 동적 속성 지원 아니요(false)
속성 (Properties)
| 속성 | 설명 |
|---|---|
| Algorithm Negotiation | SSH 알고리즘 협상의 구성 전략이에요. |
| Batch Size | 단일 연결로 보낼 FlowFile의 최대 개수예요. |
| Ciphers Allowed | SFTP 연결에 허용되는 암호(Cipher)의 쉼표로 구분된 목록이에요. 비워두면 모두 허용해요. 가능한 옵션: 3des-cbc, aes128-cbc, aes128-ctr, [email protected], aes192-cbc, aes192-ctr, aes256-cbc, aes256-ctr, [email protected], arcfour128, arcfour256, blowfish-cbc, [email protected], none. |
| Conflict Resolution | 파일 이름 충돌 문제를 처리하는 방법을 결정해요. |
| Connection Timeout | 연결을 만드는 동안 타임아웃되기까지 기다리는 시간이에요. |
| Create Directory | 원격 디렉터리가 없을 때 만들어줄지 여부를 지정해요. |
| Data Timeout | 로컬과 원격 시스템 사이에서 파일을 전송할 때 시스템 사이에 데이터가 전송되지 않은 채 허용되는 시간을 지정해요. |
| Disable Directory Listing | 'true'로 설정하면 누락된 디렉터리를 만들기 전에 디렉터리 목록을 수행하지 않아요. 기본적으로 이 프로세서는 누락된 디렉터리를 만들기 전에 대상 디렉터리가 있는지 확인하기 위해 디렉터리 목록 명령을 실행해요. 하지만 다음과 같은 경우 디렉터리 목록을 비활성화해야 할 수도 있어요. 일부 권한 설정(예: chmod 100)에서는 디렉터리 목록이 실패할 수 있어요. 또한 다른 SFTP 클라이언트가 이 프로세서의 목록 수행 이후, 디렉터리 생성 요청 완료 전에 디렉터리를 만들었다면 디렉터리가 이미 존재하므로 오류가 반환돼요. |
| Dot Rename | true면 보낸 파일의 이름 앞에 '.'을 붙였다가 파일이 완전히 전송된 후 원래 이름으로 되돌려요. 그렇지 않으면 이름 변경이 없어요. Temporary Filename 속성이 설정되면 이 속성은 무시돼요. |
| Host Key File | 제공되면 해당 파일이 Host Key로 사용돼요. 그렇지 않고 'Strict Host Key Checking' 속성이 적용되면(true) ~/.ssh 디렉터리의 'known_hosts'와 'known_hosts2' 파일을 사용하고, 그 외에는 host key 파일이 사용되지 않아요. |
| Hostname | 원격 시스템의 정규화된 호스트명 또는 IP 주소예요. |
| Key Algorithms Allowed | SFTP 연결에 허용되는 키 알고리즘의 쉼표로 구분된 목록이에요. 비워두면 모두 허용해요. 가능한 옵션: ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-256, rsa-sha2-512, ssh-dss, ssh-ed25519, ssh-rsa 등을 포함한 표준 키 알고리즘. |
| Key Exchange Algorithms Allowed | SFTP 연결에 허용되는 키 교환 알고리즘의 쉼표로 구분된 목록이에요. 비워두면 모두 허용해요. curve25519-sha256, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, ecdh-sha2-nistp256 등을 포함해요. |
| Last Modified Time | 파일을 전송한 뒤 할당할 lastModifiedTime이에요. 설정하지 않으면 lastModifiedTime은 바뀌지 않아요. 형식은 yyyy-MM-dd'T'HH:mm:ssZ여야 해요. ${file.lastModifiedTime} 같은 Expression Language를 사용할 수도 있어요. 값이 유효하지 않아도 프로세서가 invalid가 되진 않지만 파일의 lastModifiedTime은 바뀌지 않아요. |
| Message Authentication Codes Allowed | SFTP 연결에 허용되는 메시지 인증 코드(MAC)의 쉼표로 구분된 목록이에요. 비워두면 모두 허용해요. hmac-sha1, hmac-sha2-256, hmac-sha2-512 등을 포함해요. |
| Password | 사용자 계정의 비밀번호예요. |
| Permissions | 파일을 전송한 뒤 할당할 권한이에요. 형식은 거부된 권한 대신 '-'를 쓴 UNIX rwxrwxrwx(예: rw-r--r--) 또는 8진수(예: 644)여야 해요. 설정하지 않으면 권한은 바뀌지 않아요. ${file.permissions} 같은 Expression Language를 사용할 수도 있어요. |
| Port | 파일 전송을 위해 원격 시스템이 수신 대기하는 포트예요. |
| Private Key Passphrase | 개인 키의 비밀번호예요. |
| Private Key Path | 개인 키 파일의 정규화된 경로예요. |
| Reject Zero-Byte Files | 0바이트 파일을 전송 시도 없이 거부할지 여부를 결정해요. |
| Remote Group | 파일을 전송한 뒤 파일에 설정할 Group ID를 나타내는 정수값이에요. 설정하지 않으면 그룹은 설정되지 않아요. ${file.group} 같은 Expression Language를 사용할 수도 있어요. 값이 유효하지 않아도 프로세서가 invalid가 되진 않지만 파일의 그룹은 바뀌지 않아요. |
| Remote Owner | 파일을 전송한 뒤 파일에 설정할 User ID를 나타내는 정수값이에요. 설정하지 않으면 소유자는 설정되지 않아요. ${file.owner} 같은 Expression Language를 사용할 수도 있어요. 값이 유효하지 않아도 프로세서가 invalid가 되진 않지만 파일의 소유자는 바뀌지 않아요. |
| Remote Path | 파일을 가져오거나 보낼 원격 시스템의 경로예요. |
| Send Keep Alive On Timeout | 전체 25초 타임아웃을 위해 5초마다 최대 5회 Keep Alive 메시지를 보내요. |
| Strict Host Key Checking | host 키의 엄격한 검증을 적용할지 여부를 나타내요. |
| Temporary Filename | 설정하면 전송 중 보내는 파일의 이름은 지정한 값과 같고, 성공적으로 완료된 후 원래 파일 이름으로 바뀌어요. 이 값이 설정되면 Dot Rename 속성은 무시돼요. |
| Use Compression | 파일을 전송할 때 ZLIB 압축을 사용할지 여부를 나타내요. |
| Username | 사용자 이름이에요. |
| proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration Controller Service를 지정해요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
| failure | 원격 시스템으로 보내지 못한 FlowFile이에요. 보통 failure는 이 프로세서로 다시 루프백돼요. |
| reject | 대상 시스템이 거부한 FlowFile이에요. |
| success | 성공적으로 보내진 FlowFile이 success로 라우팅돼요. |