다큐멘트 센터 Object Storage API Compress Multiple Files

Compress Multiple Files

최신 업데이트:2025-08-18 15:32:51

이 인터페이스는 클라우드 스토리지 플랫폼에서 지정한 여러 파일을 패키징하여 압축하는 기능을 제공합니다. 현재 ZIP 압축만 지원됩니다.

요청 설명

POST /fmgr/compress
Host: <MgrDomain>
Authorization: <accessToken>

헤더 설명

파라미터 필수 여부 설명
HOST 관리 도메인 이름, 콘솔의 버킷 개요에서 확인 가능
Authorization 관리 인증 정보

파라미터 설명

요청 파라미터는 아래 형식으로 구성하며, 요청 본문으로 제출합니다.

fops=bucket/<Urlsafe_Base64_Encoded_Bucket>/keys/<Urlsafe_Base64_Encoded_key1|Urlsafe_Base64_Encoded_key2|Urlsafe_Base64_Encoded_key3|……>/keyList/<Urlsafe_Base64_Encoded_keyList>/saveas/<Urlsafe_Base64_Encoded(<bucket:filekey>)>&notifyURL=<Urlsafe_Base64_Encoded_notifyUrl>&separate=<Separate>&force=<Force>
파라미터 필수 여부 설명
fops 처리 파라미터 리스트로 위 형식과 같으며, 동시에 여러 처리를 지원합니다. 여러 파라미터는 ';'로 구분합니다.
bucket 압축할 파일이 위치한 버킷명. <Urlsafe_Base64_Encoded_bucket>은 버킷명을 URL-safe Base64로 인코딩한 값입니다.
keys 압축할 파일 또는 디렉터리로, 자원들은 ¦로 구분합니다.
참고:
1. keyList 파라미터가 있으면 이 값은 생략 가능.
2. /로 끝나면 폴더를 의미합니다.
keyList 압축할 파일 또는 디렉터리 정보를 담은 인덱스 파일 경로입니다. 많은 파일 또는 폴더를 압축해야 할 때, 각 자원을 한 줄씩 기록(URI 인코딩 불필요)한 인덱스 파일을 공간에 업로드 후 해당 경로를 지정하면 됩니다.
참고: keys 파라미터가 있으면 이 값은 생략 가능.
saveas 출력 파일 저장 경로. “space:filename” 형식을 URL-safe Base64로 인코딩하여 값으로 입력해야 합니다.
notifyURL 아니오 처리 결과를 알림 받을 URL입니다. 알림 내용에 대한 형식은 task query interface . 반환 내용을 참조하세요.
separate 아니오 처리 명령별로 별도 알림을 보낼지 여부.
1 : 각 명령 실행 후 notifyURL로 개별 알림.
0 : 모든 명령 실행 후 한 번만 알림(기본값 0).
force 아니오 강제 처리 여부.
1 : 데이터를 강제로 처리하며 기존 결과를 덮어씁니다.
0 : 처리 결과가 이미 존재하면 성공으로 간주하고, 반복 처리를 방지해 자원을 절약합니다(기본값 0).

참고:

  1. keys와 keyList 모두 입력한 경우, keys 파라미터가 우선 적용됩니다.
  2. 압축할 파일 또는 디렉터리 일부가 존재하지 않거나 디렉터리가 비어 있으면, 해당 파일 또는 폴더는 압축에서 무시됩니다. 하지만 압축하려는 파일 자체가 존재하지 않으면 압축 작업은 실패합니다.
  3. keyList 인덱스 파일 형식: 한 줄씩 자원명을 작성(URI 인코딩 필요 없음, UTF-8 인코딩)
    예시로, test/keyList.txt 파일에 아래와 같이 파일 정보가 포함되어 있다고 가정합니다.
1.jpg
dir1/
2.jpg
test.jpg
……
test/keyList.txt를 keyList로 지정하면 1.jpg, dir1/, 2.jpg, test.jpg 등 지정된 파일 및 디렉터리를 압축하게 됩니다.
  1. 압축 후에도 원본 폴더 구조가 유지됩니다.
    예를 들어, test/test1/ 디렉터리 하위에 test2(빈 폴더), 1.jpg, test3(2.jpg 포함) 등이 있을 때, test/test1/을 a.zip으로 압축하면 a.zip을 풀면 구조는 아래와 같이 재현됩니다.
test(폴더)
|---test1(폴더)
    |---1.jpg(파일)
    |---test3(폴더)
        |---2.jpg
  1. 압축 대상 파일 수가 3,000개를 초과하거나, 총 파일 크기가 50GB를 초과할 경우, 압축 작업은 실패합니다.

응답 설명

  • 요청 성공 시 아래 형식의 Json 문자열이 반환됩니다.
{ "persistentId": <persistentId> }
필드명 필수 여부 설명
persistentId 작업 프로세스 ID로, 추후 작업 진행 상태 조회에 사용됩니다.
  • 요청 실패 시 아래 형식의 Json 문자열이 반환됩니다.
{
    "code":     "<code string>",
    "message":  "<ErrMsg string>"
}
필드명 필수 여부 설명
code HTTP 요청 응답 코드. HTTP response status code 참고
message 실패 사유를 전달하는 메시지

예시

curl -v -X POST -d "fops=bucket/bXlidWNrZXQ=/keys/MS5qcGc=|Mi5qcGc=|My5qcGc=/saveas/bXlidWNrZXQyOjEuemlw;bucket/bXlidWNrZXQ=/keyList/dGVzdC9jb21wcmVzcy50eHQ=/saveas/bXlidWNrZXQyOjIuemlw&notifyURL=aHR0cDovL3Rlc3QuY29tL25vdGlmeVVSbA==&separate=1&force=0" -H "Authorization:86622e227a50d49d858c2494a935bc2e4ac543a7:Y2JmMGY0YTNhZmQxZmVlZGM2ZTA0YTdjNTcyOWQ1NjRkNTExYjg0Yg==" --url "http://mgrDomain/fmgr/compress"
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.