SCM SFTP 수신 완료 검수SFTP 완료 표식 검수SFTP 부분 업로드 파일 처리SCM 파일 수집 대기

SCM SFTP 수신 완료 검수, 목록에 보이는 파일은 언제 읽을까

2026년 11월 기준, SCM SFTP 완료 표식 방식은 최종 파일과 같은 배치의 표식이 모일 때 내려받습니다. 하나라도 없으면 대기합니다. 가상 주문 파일로 불일치와 재전송을 검수합니다.

이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스

발행 ·알파카랩스

2026년 11월 기준, 완료 표식 방식은 SFTP 최종 파일과 같은 배치의 표식이 모이면 내려받습니다. 둘 중 하나가 없으면 대기합니다.

거래처가 주문 파일을 SFTP에 올리는 가상 상황입니다. 운영 화면이 먼저 보인 파일을 바로 읽으면 뒤에 전송될 주문 행이 빠질 수 있습니다. 이후 파일을 다시 읽더라도 이전 반영 내역과 구분하기 어려워집니다. 인수할 때는 목록에서 파일을 발견하는 시점과 완성본을 내려받아 검증할 시점을 나눕니다.

목록에 파일이 보이면 언제 내려받나요?#

송신자와 완료 표식 방식을 합의했다면, 같은 배치의 최종 파일과 표식이 둘 다 확인될 때 내려받습니다. 송신자는 임시 이름으로 업로드를 마치고 최종 파일을 확정한 뒤 표식을 공개합니다. 수신자는 내려받은 사본을 표식과 대조하고, 일치한 사본을 다음 검수로 넘깁니다.

Apache Camel SFTP의 tempPrefix는 임시 이름으로 기록한 뒤 쓰기를 마치면 최종 이름으로 바꾸는 송신 옵션입니다. doneFileName을 설정한 송신자는 원본을 쓴 뒤 같은 폴더에 빈 표식을 만들고, 수신자는 대응하는 표식이 있을 때 파일을 가져옵니다. 사용할 서버와 저장소에서 이 순서가 실제로 보이는지 인수 표본으로 확인합니다. Apache Camel SFTP 컴포넌트

받아온 파일이 송신 확정본인지 어떻게 확인하나요?#

송신자가 확정한 파일명·배치 키와, 내려받은 사본의 바이트 수·해시를 대조합니다. 일치하면 검증에 쓴 사본을 그대로 파서에 넘깁니다. 파일명이나 배치 키가 다르거나 해시가 어긋나면 운영 집계에 반영하기 전에 검토로 보냅니다.

아래 가상 계약에서 송신자는 orders-batch-a.csv를 확정한 뒤 orders-batch-a.csv.done에 확인값을 넣어 공개합니다. 표식도 임시 이름으로 쓴 뒤 닫고 최종 이름으로 공개합니다. 다음 코드는 가상 원본 바이트에서 표식의 내용을 계산합니다. Camel의 빈 표식과 별개로 두 팀이 합의한 형식입니다.

from hashlib import sha256
import json

payload = b"order_id,status\r\nORD-A,ready\r\n"

receipt = {
    "batchId": "batch-a",
    "file": "orders-batch-a.csv",
    "bytes": len(payload),
    "sha256": sha256(payload).hexdigest(),
}
print(json.dumps(receipt, indent=2))
가상 폴더 상태 또는 재전송기대하는 수신 판정
임시 주문 파일만 보임대기, 다운로드·업무 반영 없음
최종 이름의 주문 파일만 있고 표식 없음대기, 완료 신호 도착 여부 기록
완료 표식만 있고 대응 최종 파일 없음대기, 합의한 확인 시점이 지나면 누락 검토
최종 파일·표식의 확인값이 맞고 같은 송신자·배치 키로 반영한 이력 없음같은 배치를 처리 중이면 대기, 처리 권한을 얻으면 검증한 사본을 파서에 전달
표식이 깨졌거나 파일명·배치 키·바이트 수·해시가 불일치검토로 분리, 업무 반영 없이 송신 확정본 재확인
확인값 검증을 통과한 재전송, 같은 송신자·배치 키로 반영한 해시와 같음기존 처리 결과 확인, 중복 반영 방지
확인값 검증을 통과한 재전송, 같은 송신자·배치 키로 반영한 해시와 다름기존 반영본을 보존하고 정정 여부 검토
가상 주문 파일과 완료 표식의 인수표입니다. 해시는 내려받은 바이트에서 계산합니다. 같은 바이트 수라도 주문 식별자가 달라지면 해시로 차이를 대조할 수 있습니다.

처리 기록에는 송신 구분과 배치 키, 확인한 해시, 검증 결과, 업무 반영 여부를 남깁니다. 같은 송신자·배치 키는 한 작업만 처리하도록 하고, 앞선 작업이 중단됐다면 실제 반영 여부를 확인한 뒤 재개합니다. 검증 뒤 파싱할 때 원격 파일을 다시 열면 서로 다른 사본을 쓰게 될 수 있으므로, 검증한 사본을 같은 처리 단계에서 사용합니다. 예상한 배치가 애초에 오지 않은 문제는 송신 일정과 예상 배치 목록으로 따로 확인합니다.

전송 서비스의 완료 이벤트가 있으면 표식이 꼭 필요한가요?#

신뢰하는 전송 서비스가 완료 이벤트를 제공하고 그 이벤트를 해당 파일과 배치에 연결할 수 있다면 이벤트를 수신 신호로 쓸 수 있습니다. 그 뒤에도 파일 검증과 업무 반영 결과는 따로 확인합니다. 어떤 신호를 쓸지 합의할 때는 부분 업로드와 전송 실패도 같은 표본으로 검수합니다.

AWS Transfer Family는 SFTP 전송 완료·실패 이벤트를 구분하며, 부분 업로드 실패의 코드로 PARTIAL_UPLOAD를 설명합니다. 완료 이벤트가 뜻하는 범위는 전송입니다. 누락된 주문을 탐지하려면 기대 배치나 원천 레코드와 대조해야 합니다. AWS Transfer Family 전송 이벤트

받은 파일을 파싱하는 조건은 SCM CSV 레코드 경계 검수, API를 주기적으로 가져오는 조건은 SCM 증분 수집 체크포인트 검수, 저장 이후의 화면 숫자는 SCM 대시보드 조회 일관성 검수에서 다룹니다.

근거와 확인일#

Apache Camel 4.22.2 LTS는 2026년 10월 22일 공개됐습니다. 이 글은 2026년 11월 8일에 확인한 4.22.x SFTP 문서의 임시 파일·완료 표식과 같은 날 확인한 AWS Transfer Family 이벤트 문서를 참고했습니다. 표식의 배치 키·바이트·해시는 가상 인수 조건입니다. Apache Camel 4.22.2 공개 발표

알파카랩스는 원천별 API·파일 접근 조건, 갱신과 누락 표시, 원천 표본과 화면의 대조 및 운영 인수 범위를 공개 서비스에서 안내합니다. 확인일은 2026년 11월 8일입니다. SCM 운영대시보드 개발

SCM SFTP 수신 완료 검수 FAQ#

최종 파일 이름만 보면 다 올라온 파일인지 알 수 있나요?

완료 표식 방식에서는 파일명과 해당 배치 표식이 함께 있어야 내려받습니다. 파일 크기가 잠시 같아도 쓰기 완료가 확정됐는지는 송신자가 보내는 신호로 판단합니다.

완료 표식은 있는데 데이터 파일이 없으면 어떻게 하나요?

대응하는 최종 파일이 확인될 때까지 대기합니다. 합의한 확인 시점이 지나도 없으면 누락으로 검토하고 표식만으로 반영하지 않습니다.

바이트 수가 같으면 해시도 확인해야 하나요?

바이트 수가 같아도 파일 내용은 달라질 수 있습니다. 이 인수 조건에서는 송신 확정본의 해시와 내려받은 사본의 해시까지 확인합니다.

같은 파일이 다시 도착하면 주문을 또 적재하나요?

재전송 파일의 확인값을 검증한 뒤, 이미 반영한 송신자·배치 키와 해시가 같으면 이전 처리 결과를 확인하고 중복 반영을 막습니다. 키가 같고 해시가 다르면 정정 여부를 확인할 때까지 검토에 둡니다.

전송 완료 이벤트로 주문 누락도 알 수 있나요?

완료 이벤트는 파일 전송 상태를 확인하는 근거입니다. 배치 누락은 예상 배치 목록을, 파일 안 주문 누락은 원천에서 예상한 레코드와 대조합니다.

SFTP 수신 인수표 초안 협의#

첫 범위 협의에서 비식별 파일명과 완료 신호, 가상 실패 표본으로 대기·처리·검토 기준을 초안에 정리합니다. 소요 시간은 자료와 검수 범위를 확인한 뒤 협의합니다.

완성 파일을 읽는 조건부터 확인합니다

첫 범위 협의에서 비식별 파일 규칙으로 완료 신호와 대기 기준을 정리합니다. 소요 시간은 자료와 검수 범위를 확인한 뒤 협의합니다.

SFTP 수신 인수표 초안 협의