최신 업데이트:2025-08-18 15:33:42
요청 양식에 업로드 자격 증명을 입력하세요. 파라미터 이름은 token입니다.
업로드 자격 증명을 생성하기 위한 세 가지 주요 데이터 소스는 다음과 같습니다.
업로드 정책 데이터 (putPolicy)
업로드 정책 데이터는 리소스 업로드 시 제공되는 구성 정보 집합입니다. 이 정보를 통해 CDNetworks 클라우드 스토리지(오브젝트 스토리지)는 사용자 업로드 요구사항(업로드할 리소스, 업로드 대상 버킷, 업로드 결과를 콜백으로 받을지 리디렉션할지 여부, 피드백 데이터 설정 필요 유무, 인증 업로드 만료 시각 등)을 인지할 수 있습니다.
시크릿 키 (SecretKey)
SK는 클라우드 스토리지 플랫폼 키 관리자에게서 받으시기 바랍니다.
액세스 키 (AccessKey)
AK도 클라우드 스토리지 플랫폼 키 관리자에게서 받으시기 바랍니다.
업로드 자격 증명uploadToken은 위 세 가지 데이터 소스를 기반으로 한 복잡한 서명 연산의 결과입니다. 업로드 자격 증명을 검증함으로써 불법적인 업로드 요청 및 침입을 차단할 수 있습니다.
{
"scope": "<bucket string>",
"deadline": "<deadline string>",
"saveKey": "<saveKey string>",
"returnUrl": "<returnUrl string>",
"returnBody": "<returnBody string>",
"overwrite": "<overwrite int>",
"fsizeLimit": "<fsizeLimit long>",
"callbackUrl": "<callbackUrl string>",
"callbackBody": "<callbackBody string>",
"persistentOps": "<persistentOps string>",
"persistentNotifyUrl": "<persistentNotifyUrl string>",
"contentDetect": "<contentDetctstring>",
"detectNotifyURL": "<detectNotifyURL string>",
"detectNotifyRule":"<detectNotifyRule>",
"separate": "<separate int>"
}
| 필드명 | 필수 | 설명 |
|---|---|---|
| scope | 예 |
업로드 대상 버킷 <bucket>과 파일명 <key>를 지정합니다.a. <bucket>: 지정 버킷에 파일 업로드b. <bucket>:<key>: 지정 버킷에 key 이름으로 파일 업로드. overwrite가 1일 경우, 동일 이름의 리소스가 존재하면 덮어씁니다.
|
| deadline | 예 | 업로드 요청 권한의 만료 시각. 유닉스 타임스탬프(밀리초). 예: 1398916800000(2014-05-01 12:00:00) |
| saveKey | 아니오 | Custom Resource Name. 오브젝트 스토리지 내에서 파일의 최종 저장 경로를 지정합니다. 이 필드는 일반 업로드 방식에서만 사용됩니다. |
| fsizeLimit | 아니오 |
업로드 파일 크기 제한(단위: Byte). 이 제한을 초과한 경우 업로드가 실패하고, 401 상태 코드가 반환됩니다. 참고: 0일 경우 제한 없음 |
| overwrite | 아니오 |
서버에 이미 존재하는 파일을 덮어쓸지 여부 지정 0 - 덮어쓰지 않음(기본값) 1 - 덮어씀 |
| returnUrl | 아니오 |
웹에서 파일 업로드 시, 브라우저가 303 리디렉션된 URL을 실행합니다(주로 HTML Form 업로드에서 사용). 업로드 성공 시 <returnUrl>?upload_ret=urlsafe_base64_encode(returnBody)로,실패 시 <returnUrl>?code=<code>&message=<message>로 리디렉션됩니다. returnUrl이 없으면 returnBody의 내용이 바로 클라이언트로 반환됩니다.
|
| returnBody | 아니오 |
업로드 성공 시 반환할 커스텀 데이터입니다. 파일명 및 파일 주소만 반환하려면 returnBody를 fname=$(fname)&url=$(url)로 지정하세요. 사용법은 Returned Data Description을 참조하세요.
|
| callbackUrl | 아니오 |
업로드 성공 시 클라우드 스토리지에서 POST 방식으로 이 주소에 요청을 보냅니다. (주소는 퍼블릭 네트워크 URL이어야 하며, HTTP/1.1 200 OK 응답 가능해야 합니다. 공백 등 특수문자는 URL 인코딩 필요). 응답 데이터는 JSON 형식입니다. |
| callbackBody | 아니오 |
업로드 성공 시, CDNetworks 클라우드가 callbackUrl에 POST 방식으로 데이터를 제출합니다. callbackBody는 올바른 url query string이어야 하며, 예: key=$(key)&fsize=$(fsize). 자세한 사용법은 Callback Method Data Description 참고.
|
| persistentNotifyUrl | 아니오 | 전처리 결과 알림을 수신할 주소로, 퍼블릭 네트워크 URL이어야 하며 HTTP/1.1 200 OK 응답 가능해야 합니다. 특수문자는 URL 인코딩 필요. 자세한 내용은 Notification Data Content Description 참고. |
| persistentOps | 아니오 |
파일 업로드 성공 시 전처리 명령 리스트를 실행합니다. 각 명령은 API명세 문자열이며, 여러 명령은 ;로 구분합니다. 자세한 설명은 Instruction Description을 참고하세요.
|
| contentDetect | 아니오 |
파일 업로드 성공 시 콘텐츠 식별 작업 수행. 지원 파라미터: imagePorn - 이미지 음란물 식별 imageTerror - 이미지 테러 식별 imagePolitical - 정치인 식별 |
| detectNotifyURL | 아니오 |
식별 결과 알림을 받을 퍼블릭 네트워크 URL로, HTTP/1.1 200 OK 응답이 가능해야 합니다. 특수문자는 URL 인코딩 필요. 알림 내용은 Identification Notification Data Content Description 참고. |
| detectNotifyRule | 아니오 |
식별 결과 알림 규칙 지정. - all : 모든 이미지 - porn : 음란 이미지 - sexy : 선정적 이미지 - normal : 정상 이미지 - exception : 예외로 판별된 이미지 - terror : 폭력/테러 이미지 (imageTerror 타입에만 유효) - political : 정치인 이미지 (imagePolitical 타입에만 유효) 여러 파라미터는 세미콜론으로 구분. 예: porn;exception은 음란 또는 예외 이미지만 알림. |
| separate | 아니오 |
트랜스코딩 완료 알림 방식 선택. 1: 각 변환 명령 실행 시마다 persistentNotifyUrl 알림 0: 모든 명령 처리 후 한 번에 알림(기본값 0) |
참고:
persistenOps필드 설정 시persistentNotifyUrl필드도 반드시 함께 설정하세요. 플랫폼은persistentNotifyUrl로 명령 처리 결과를 알립니다. 자세한 내용은 Notification Data Content Description을 참고하세요.- 업로드 처리 메커니즘을 사용할 때
persistenOps필드 등록 시, 명령 파라미터saveas가 꼭 필요하며, 키는 원본 파일과 다를 수 있습니다. 그렇지 않으면 "The Persistent File Already Exists"라는 401 오류가 반환됩니다.- 파일명 지정 우선 순위는 Scope의 key > saveKey > form key > 원본 파일명 순입니다.
1. 업로드 정책 작성
업로드 파일 정보를 JSON 형식(putPolicy)으로 캡슐화합니다.
{
"scope": "<bucket string>",
"deadline": "<deadline string>",
"returnBody": "<returnBody string>",
"overwrite": "<overwrite int>",
"fsizeLimit": "<fsizeLimit long>",
"returnUrl": "<returnUrl string>"
}
2. URL-Safe Base64 코드로 업로드 정책 인코딩
putPolicy에 URL-Safe Base64 인코딩을 적용하여 encodePutPolicy를 얻습니다.
encodePutPolicy = urlsafe_base64_encode(putPolicy)
3. HMAC-SHA1 서명 생성
SecretKey를 사용해 encodePutPolicy에 대해 HMAC-SHA1 서명을 생성하여 Sign을 얻습니다.
Sign = hmac_sha1(encodePutPolicy, "<SecretKey>")
4. 서명 데이터 URL-Safe Base64 인코딩
서명 데이터 Sign에 URL-Safe Base64 인코딩을 적용해 encodeSign을 얻습니다.
encodeSign = urlsafe_base64_encode(Sign)
5. 업로드 자격 증명 생성
AccessKey, encodedSign, encodePutPolicy를 콜론(:)으로 연결하여 업로드 자격 증명 uploadToken을 생성합니다.
uploadToken = AccessKey:encodedSign:encodePutPolicy