CDN API 개요
네이버 클라우드 플랫폼은 NAVER의 최신 컴퓨팅 기술과 운영 노하우가 축적된 클라우드 서비스입니다. 네이버 클라우드 플랫폼에서 제공하는 여러 가지 상품군 중에 솔루션 상품을 이용할 수 있도록 제공하는 응용 프로그램 인터페이스(API)를 네이버 클라우드 플랫폼 API라고 합니다. 네이버 클라우드 플랫폼 API는 RESTful 형태로 제공됩니다. HTTP 방식의 GET/POST 메서드 호출을 통해서 이루어집니다.
공통설정
- {CDN_API_URL}
https://ncloud.apigw.ntruss.com/cdn/v1
- request header
Header | Description |
---|---|
x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 나타낸 것이다. APIGW 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-apigw-api-key | API Gateway에서 발급받은 키 |
x-ncp-iam-access-key | NCP에서 발급받은 API Key 또는 IAM에서 발급받은 AccessKey |
x-ncp-apigw-signature-v1 | 위 예제의 Body를 AccessKey와 맵핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 |
API References
CDN+
getCdnPlusInstanceList
API명
CDN+인스턴스리스트조회
action
getCdnPlusInstanceList
설명
- CDN+ 인스턴스 리스트를 조회합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | No | |
pageNo | 페이지번호 | Integer | Min : 0, Max : 2147483647 |
No |
pageSize | 페이지사이즈 | Integer | Min : 0, Max : 2147483647 |
No |
- cdnInstanceNo
- CDN인스턴스번호
- pageNo
- 건수가 많을 경우 페이지 사이즈에 해당하는 페이지 번호
pageSize
- 한 페이지에서 조회할 페이지 사이즈
Example
요청
${CDN_API_URL}/getCdnPlusInstanceList
응답
<?xml version="1.0" encoding="UTF-8"?> <getCdnPlusInstanceListResponse> <requestId>5a62e77c-b47c-4402-ac2a-d74c66eca324</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>34</totalRows> <cdnPlusInstanceList> <cdnPlusInstance> <cdnInstanceNo>397531</cdnInstanceNo> <cdnInstanceStatus> <code>RUN</code> <codeName>Server run state</codeName> </cdnInstanceStatus> <cdnInstanceOperation> <code>NULL</code> <codeName>Server NULL OP</codeName> </cdnInstanceOperation> <cdnInstanceStatusName>running</cdnInstanceStatusName> <createDate>2018-02-26T11:24:53+0900</createDate> <lastModifiedDate>2018-02-26T11:49:27+0900</lastModifiedDate> <cdnInstanceDescription></cdnInstanceDescription> <serviceName>cachekey-test-ses</serviceName> <isForLiveTranscoder>false</isForLiveTranscoder> <liveTranscoderInstanceNoList/> <isForImageOptimizer>false</isForImageOptimizer> <imageOptimizerInstanceNo/> <isAvailablePartialDomainPurge>false</isAvailablePartialDomainPurge> <cdnPlusServiceDomainList> <cdnPlusServiceDomain> <domainId>CD000000000000007254</domainId> <serviceDomainTypeCode>USER</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>wdsrdpyduslh397531dev.cdn.ntruss.com</defaultDomainName> <userDomainName>cachekey-b2.com</userDomainName> </cdnPlusServiceDomain> </cdnPlusServiceDomainList> <globalCdnRule> <protocolTypeCode>HTTP</protocolTypeCode> <serviceDomainTypeCode>USER</serviceDomainTypeCode> <originUrl>alpha-nss.ntruss.com/aaaddd</originUrl> <originPath></originPath> <originHttpPort>8080</originHttpPort> <originHttpsPort>0</originHttpsPort> <forwardHostHeaderTypeCode>REQUEST_HOST_HEADER</forwardHostHeaderTypeCode> <forwardHostHeader></forwardHostHeader> <cacheKeyHostNameTypeCode>ORIGIN_HOSTNAME</cacheKeyHostNameTypeCode> <isGzipCompressionUse>true</isGzipCompressionUse> <cachingOptionTypeCode>CACHE_CONTROL_MAX_AGE</cachingOptionTypeCode> <isErrorContentsResponseUse>false</isErrorContentsResponseUse> <cachingTtlTime>604800</cachingTtlTime> <isQueryStringIgnoreUse>true</isQueryStringIgnoreUse> <isRemoveVaryHeaderUse>true</isRemoveVaryHeaderUse> <isLargeFileOptimizationUse>false</isLargeFileOptimizationUse> <gzipResponseTypeCode>ORIGIN_RESPONSE</gzipResponseTypeCode> <isReferrerDomainUse>false</isReferrerDomainUse> <referrerDomainList/> <isReferrerDomainRestrictUse>false</isReferrerDomainRestrictUse> <isSecureTokenUse>false</isSecureTokenUse> <secureTokenPassword></secureTokenPassword> <isReissueSecureTokenPassword>false</isReissueSecureTokenPassword> <certificateName></certificateName> <isAccessLogUse>false</isAccessLogUse> <accessLogFileStorageContainerName></accessLogFileStorageContainerName> </globalCdnRule> </cdnPlusInstance> </cdnPlusInstanceList> </getCdnPlusInstanceListResponse>
getCdnPlusPurgeHistoryList
API명
CDN+퍼지기록조회
action
getCdnPlusPurgeHistoryList
설명
- CDN+퍼지기록을 조회합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | Yes | |
purgeIdList.N | 퍼지ID리스트 | String | No |
- cdnInstanceNo
- CDN인스턴스번호
- purgeIdList.N
- 퍼지ID리스트
Example
요청
${CDN_API_URL}/getCdnPlusPurgeHistoryList ?cdnInstanceNo=397531
응답
<?xml version="1.0" encoding="UTF-8"?> <getCdnPlusPurgeHistoryListResponse> <requestId>f35e0e7f-f439-4c18-9d4b-7fd6257e8a15</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>5</totalRows> <cdnPlusPurgeHistoryList> <cdnPlusPurgeHistory> <cdnInstanceNo>397531</cdnInstanceNo> <purgeId>PT000000000000000582</purgeId> <isWholePurge>true</isWholePurge> <isWholeDomain>true</isWholeDomain> <cdnPlusServiceDomainList> <cdnPlusServiceDomain> <domainId>CD000000000000007254</domainId> <serviceDomainTypeCode>USER</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>wdsrdpyduslh397531dev.cdn.ntruss.com</defaultDomainName> <userDomainName>cachekey-b2.com</userDomainName> </cdnPlusServiceDomain> </cdnPlusServiceDomainList> <targetDirectoryName></targetDirectoryName> <targetFileList/> <requestDate>2018-03-26T16:36:38+0900</requestDate> <purgeStatusName>success</purgeStatusName> </cdnPlusPurgeHistory> </cdnPlusPurgeHistoryList> </getCdnPlusPurgeHistoryListResponse>
requestCdnPlusPurge
API명
CDN+퍼지요청
action
requestCdnPlusPurge
설명
- CDN+퍼지를 요청합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | Yes | |
domainIdList.N | 도메인ID리스트 | String | No | |
isWholePurge | 전체퍼지여부 | Boolean | true / false | Yes |
isWholeDomain | 전체도메인여부 | Boolean | true / false | Yes |
targetFileList.N | 대상파일리스트 | String | No | |
targetDirectoryName | 대상디렉토리명 | String | No |
- cdnInstanceNo
- CDN인스턴스번호
- domainIdList.N
- 도메인ID리스트
- isWholePurge
- 전체퍼지여부
- isWholeDomain
- 전체도메인여부
- targetFileList.N
- 대상파일리스트
- targetDirectoryName
- 대상디렉토리명
Example
요청
${CDN+_API_URL}/requestCdnPlusPurge ?cdnInstanceNo=397531 &isWholeDomain=true &isWholePurge=true
응답
<?xml version="1.0" encoding="UTF-8"?> <requestCdnPlusPurgeResponse> <requestId>cfc9f38c-24ff-4d2f-8bcf-fe6c02360769</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <cdnPlusPurgeHistoryList> <cdnPlusPurgeHistory> <cdnInstanceNo>397531</cdnInstanceNo> <purgeId>PT000000000000000583</purgeId> <isWholePurge>true</isWholePurge> <isWholeDomain>true</isWholeDomain> <cdnPlusServiceDomainList> <cdnPlusServiceDomain> <domainId>CD000000000000007254</domainId> <serviceDomainTypeCode>USER</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>wdsrdpyduslh397531dev.cdn.ntruss.com</defaultDomainName> <userDomainName>cachekey-b2.com</userDomainName> </cdnPlusServiceDomain> </cdnPlusServiceDomainList> <targetDirectoryName></targetDirectoryName> <targetFileList/> <requestDate>2018-03-26T18:41:24+0900</requestDate> <purgeStatusName>ready</purgeStatusName> </cdnPlusPurgeHistory> </cdnPlusPurgeHistoryList> </requestCdnPlusPurgeResponse>
GLOBAL_CDN
getGlobalCdnInstanceList
API명
Global CDN인스턴스리스트조회
action
getGlobalCdnInstanceList
설명
- Global CDN 인스턴스 리스트를 조회합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | No | |
pageNo | 페이지번호 | Integer | Min : 0, Max : 2147483647 |
No |
pageSize | 페이지사이즈 | Integer | Min : 0, Max : 2147483647 |
No |
- cdnInstanceNo
- CDN인스턴스번호
- pageNo
- 건수가 많을 경우 페이지 사이즈에 해당하는 페이지 번호
pageSize
- 한 페이지에서 조회할 페이지 사이즈
Example
요청
${CDN_API_URL}/getGlobalCdnInstanceList
응답
<?xml version="1.0" encoding="UTF-8"?> <getGlobalCdnInstanceListResponse> <requestId>e3d346c1-1804-499b-bb48-a2668078d28b</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>3</totalRows> <globalCdnInstanceList> <globalCdnInstance> <cdnInstanceNo>554626</cdnInstanceNo> <cdnInstanceStatusName>running</cdnInstanceStatusName> <createDate>2018-04-11T18:35:56+0900</createDate> <lastModifiedDate>2018-04-24T14:36:19+0900</lastModifiedDate> <cdnInstanceDescription /> <serviceName>hd-beta-gcdn-03</serviceName> <isAvailablePartialDomainPurge>false</isAvailablePartialDomainPurge> <globalCdnServiceDomainList> <globalCdnServiceDomain> <serviceDomainTypeCode>DEFAULT</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>jmoatxouhhmn554626.gcdn.beta.ntruss.com</defaultDomainName> <userDomainName /> </globalCdnServiceDomain> </globalCdnServiceDomainList> <globalCdnRule> <protocolTypeCode>HTTP</protocolTypeCode> <serviceDomainTypeCode>DEFAULT</serviceDomainTypeCode> <originUrl>45.119.145.197</originUrl> <originPath /> <originHttpPort>80</originHttpPort> <originHttpsPort>0</originHttpsPort> <forwardHostHeaderTypeCode>REQUEST_HOST_HEADER</forwardHostHeaderTypeCode> <forwardHostHeader /> <cacheKeyHostNameTypeCode>REQUEST_HOST_HEADER</cacheKeyHostNameTypeCode> <isGzipCompressionUse>true</isGzipCompressionUse> <cachingOptionTypeCode>CACHE_CONTROL_AND_EXPIRES</cachingOptionTypeCode> <isErrorContentsResponseUse>false</isErrorContentsResponseUse> <cachingTtlTime>604800</cachingTtlTime> <isQueryStringIgnoreUse>true</isQueryStringIgnoreUse> <isRemoveVaryHeaderUse>true</isRemoveVaryHeaderUse> <isLargeFileOptimizationUse>false</isLargeFileOptimizationUse> <gzipResponseTypeCode>ORIGIN_RESPONSE</gzipResponseTypeCode> <isReferrerDomainUse>false</isReferrerDomainUse> <referrerDomainList /> <isReferrerDomainRestrictUse>false</isReferrerDomainRestrictUse> <isSecureTokenUse>true</isSecureTokenUse> <secureTokenPassword>3def0277a0bd4c36183d</secureTokenPassword> <isReissueSecureTokenPassword>false</isReissueSecureTokenPassword> <isAccessLogUse>false</isAccessLogUse> <accessLogFileStorageContainerName /> </globalCdnRule> </globalCdnInstance> </globalCdnInstanceList> </getGlobalCdnInstanceListResponse>
getGlobalCdnPurgeHistoryList
API명
Global CDN퍼지기록조회
action
getGlobalCdnPurgeHistoryList
설명
- Global CDN퍼지기록을 조회합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | Yes | |
purgeIdList.N | 퍼지ID리스트 | String | No |
- cdnInstanceNo
- CDN인스턴스번호
- purgeIdList.N
- 퍼지ID리스트
Example
요청
${CDN_API_URL}/getGlobalCdnPurgeHistoryList ?cdnInstanceNo=554626
응답
<?xml version="1.0" encoding="UTF-8"?> <getGlobalCdnPurgeHistoryListResponse> <requestId>aa7a9558-8650-4074-92b9-f504f5e665f2</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>5</totalRows> <globalCdnPurgeHistoryList> <globalCdnPurgeHistory> <cdnInstanceNo>554626</cdnInstanceNo> <purgeId>14e84459-4783-11e8-85b9-ef888132e2fc</purgeId> <isWholePurge>true</isWholePurge> <isWholeDomain>true</isWholeDomain> <globalCdnServiceDomainList> <globalCdnServiceDomain> <serviceDomainTypeCode>DEFAULT</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>jmoatxouhhmn554626.gcdn.beta.ntruss.com</defaultDomainName> <userDomainName /> </globalCdnServiceDomain> </globalCdnServiceDomainList> <targetFileList /> <estimatedCompletionDate>2018-04-24T14:52:13+0900</estimatedCompletionDate> <isSuccess>true</isSuccess> <requestDate>2018-04-24T14:48:13+0900</requestDate> </globalCdnPurgeHistory> </globalCdnPurgeHistoryList> </getGlobalCdnPurgeHistoryListResponse>
requestGlobalCdnPurge
API명
Global CDN퍼지요청
action
requestGlobalCdnPurge
설명
- Global CDN퍼지를 요청합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수여부 |
---|---|---|---|---|
cdnInstanceNo | CDN인스턴스번호 | String | Yes | |
serviceDomainNameList.N | 서비스도메인이름리스트 | String | No | |
isWholePurge | 전체퍼지여부 | Boolean | true / false | Yes |
isWholeDomain | 전체도메인여부 | Boolean | true / false | Yes |
targetFileList.N | 대상파일리스트 | String | No |
- cdnInstanceNo
- CDN인스턴스번호
- serviceDomainNameList.N
- 서비스도메인이름리스트
- isWholePurge
- 전체퍼지여부
- isWholeDomain
- 전체도메인여부
- targetFileList.N
- 대상파일리스트
Example
요청
${CDN+_API_URL}/requestGlobalCdnPurge ?cdnInstanceNo=554626 &isWholeDomain=false &isWholePurge=false &serviceDomainNameList.1=jmoatxouhhmn554626.gcdn.beta.ntruss.com &targetFileList.1=test.txt
응답
<?xml version="1.0" encoding="UTF-8"?> <requestGlobalCdnPurgeResponse> <requestId>583839af-44e1-452d-91d8-d052e6bfc75d</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <globalCdnPurgeHistoryList> <globalCdnPurgeHistory> <cdnInstanceNo>554626</cdnInstanceNo> <purgeId>27df559c-4912-11e8-b42a-bb443b13c136</purgeId> <isWholePurge>false</isWholePurge> <isWholeDomain>false</isWholeDomain> <globalCdnServiceDomainList> <globalCdnServiceDomain> <serviceDomainTypeCode>DEFAULT</serviceDomainTypeCode> <protocolTypeCode>HTTP</protocolTypeCode> <defaultDomainName>jmoatxouhhmn554626.gcdn.beta.ntruss.com</defaultDomainName> <userDomainName /> </globalCdnServiceDomain> </globalCdnServiceDomainList> <targetFileList> <string>/test.txt</string> </targetFileList> <estimatedCompletionDate>2018-04-26T14:24:59+0900</estimatedCompletionDate> <isSuccess>true</isSuccess> <requestDate>2018-04-26T14:24:54+0900</requestDate> </globalCdnPurgeHistory> </globalCdnPurgeHistoryList> </requestGlobalCdnPurgeResponse>