Global CDN
Overview
SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.
본 가이드는 Global CDN 서비스에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다.
API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.
Version
Not Before 기간이 도래하거나 만료된 Deprecated 버전은 더 이상 지원하지 않습니다. 최신 버전 사용을 권장합니다.
| Version | Status | Not Before |
|---|
| 1.0 | CURRENT | - |
OpenAPI URL
https://cdn.{region}.{environment}.samsungsdscloud.com
Environment and Region List
| environment | region |
|---|
| s | kr-west1 |
| s | kr-east1 |
| g | kr-south1 |
| g | kr-south2 |
| g | kr-south3 |
| e | kr-west1 |
| e | kr-east1 |
API Version History
1.0
CDN API가 출시되었습니다.
변경사항
- [신규]
GET /cdn/1.0/cdns - ListCdnService API 가 추가되었습니다. - [신규]
POST /cdn/1.0/cdns - CreateCdnService API 가 추가되었습니다. - [신규]
GET /cdn/1.0/cdns/{id} - DetailCdnService API 가 추가되었습니다. - [신규]
PUT /cdn/1.0/cdns/{id} - UpdateCdnService API 가 추가되었습니다. - [신규]
DELETE /cdn/1.0/cdns/{id} - DeleteCdnService API 가 추가되었습니다. - [신규]
PUT /cdn/1.0/cdns/{id}/description - UpdateDescriptionOfCdnService API 가 추가되었습니다. - [신규]
POST /cdn/1.0/cdns/{id}/start - StartCdnService API 가 추가되었습니다. - [신규]
POST /cdn/1.0/cdns/{id}/stop - StopCdnService API 가 추가되었습니다. - [신규]
POST /cdn/1.0/cdns/{id}/purge - PurgeCdnService API 가 추가되었습니다.
1.1.1 - 1.0
post /v1/cdns
Description
원본 서버의 콘텐츠를 엣지 로케이션을 통해 캐싱하고 배포하는 CDN 서비스 리소스를 생성합니다.
상태
ACTIVE (CURRENT)
Parameters
Responses
Example HTTP request
Request path
/v1/cdns
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Request body
{
"cache_expiry_time": 86400,
"cache_key_hostname": "REQUEST_HOST_HEADER",
"caching_option": "CACHE",
"cdn_origin_hostname": "test.example.com",
"cdn_origin_port": 443,
"cdn_origin_protocol": "HTTPS",
"cdn_service_domain_prefix": "global1",
"cdn_service_origin_path": "/test/global/",
"content_policy": "ONLY_VALIDATED_CONTENTS",
"custom_forward_host_header": "",
"description": "추가 정보 입력 - 설명",
"forward_host_header": "REQUEST_HOST_HEADER",
"name": "test1",
"origin_hostname_type": "DOMAIN",
"query_string_ignored": true,
"range_request_allowed": true,
"request_custom_headers": "",
"response_custom_headers": "",
"tags": []
}
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.2.1 - 1.0
delete /v1/cdns/{id}
Description
CDN 서비스 리소스 삭제
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
Responses
Example HTTP request
Request path
/v1/cdns/{id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.3.1 - 1.0
get /v1/cdns/{id}
Description
특정 CDN 서비스의 상세 정보를 조회합니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
Responses
Example HTTP request
Request path
/v1/cdns/{id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Example HTTP response
Response 200
{
"cdn": {
"account_id": "",
"cache_expiry_time": "",
"cache_key_hostname": "",
"caching_option": "",
"cdn_origin_hostname": "",
"cdn_origin_port": "",
"cdn_origin_protocol": "",
"cdn_service_activation_state": "",
"cdn_service_config_version": "",
"cdn_service_domain": "",
"cdn_service_origin_path": "",
"cdn_service_state": "",
"content_policy": "",
"created_at": "",
"created_by": "",
"custom_forward_host_header": "",
"description": "",
"forward_host_header": "",
"id": "",
"modified_at": "",
"modified_by": "",
"name": "",
"origin_hostname_type": "",
"query_string_ignored": "",
"range_request_allowed": "",
"region": "",
"request_custom_headers": "",
"response_custom_headers": ""
}
}
1.4.1 - 1.0
get /v1/cdns
Description
CDN 서비스 목록을 조회합니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | size optional | size Example : 20
| any of [integer, null] | 20 |
| query | page optional | page Example : 0
| any of [integer, null] | 0 |
| query | sort optional | sort Example : created_at:desc
| any of [string, null] | None |
| query | created_by optional | 리소스를 생성한 사용자 ID Example :
| any of [string, null] | None |
| query | name optional | CDN 서비스 이름 Example :
| any of [string, null] | None |
| query | cdn_service_domain optional | CDN 서비스가 콘텐츠를 제공하는 도메인 이름 Example :
| any of [string, null] | None |
| query | cdn_origin_hostname optional | CDN이 콘텐츠를 가져오는 원본 서버의 호스트네임 Example :
| any of [string, null] | None |
Responses
Example HTTP request
Request path
/v1/cdns
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Example HTTP response
Response 200
{
"cdn": [
{
"account_id": "",
"cdn_origin_hostname": "",
"cdn_service_domain": "",
"cdn_service_state": "",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"description": "",
"id": "",
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "",
"region": ""
}
],
"count": 20,
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
]
}
1.5.1 - 1.0
post /v1/cdns/{id}/purge
Description
CDN 서비스의 캐시된 콘텐츠를 Purge합니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
| body | body required |
| CdnServicePurgeRequest | |
Responses
Example HTTP request
Request path
/v1/cdns/{id}/purge
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Request body
{
"custom_url": "/test/",
"target_content": "INVALIDATED_CONTENT",
"target_url": "CUSTOM"
}
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.6.1 - 1.0
post /v1/cdns/{id}/start
Description
CDN 서비스를 시작합니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
Responses
Example HTTP request
Request path
/v1/cdns/{id}/start
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.7.1 - 1.0
post /v1/cdns/{id}/stop
Description
CDN 서비스를 정지합니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
Responses
Example HTTP request
Request path
/v1/cdns/{id}/stop
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.8.1 - 1.0
put /v1/cdns/{id}
Description
CDN 서비스 리소스 수정
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | id required | CDN 서비스의 고유 식별자 Example :
| string | None |
| body | body required |
| CdnServiceUpdateRequest | |
Responses
Example HTTP request
Request path
/v1/cdns/{id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Request body
{
"cache_expiry_time": 86400,
"cache_key_hostname": "REQUEST_HOST_HEADER",
"caching_option": "CACHE",
"cdn_origin_hostname": "test.example.com",
"cdn_origin_port": 443,
"cdn_origin_protocol": "HTTPS",
"cdn_service_origin_path": "/test/global/",
"content_policy": "ONLY_VALIDATED_CONTENTS",
"custom_forward_host_header": "",
"forward_host_header": "REQUEST_HOST_HEADER",
"origin_hostname_type": "DOMAIN",
"query_string_ignored": true,
"range_request_allowed": true,
"request_custom_headers": "",
"response_custom_headers": ""
}
Example HTTP response
Response 202
{
"cdn": {
"account_id": "",
"resource_id": "",
"workflow_id": ""
}
}
1.9.1 - 1.0
put /v1/cdns/{id}/description
Description
CDN 서비스 설명을 업데이트합니다.
상태
ACTIVE (CURRENT)
Parameters
Responses
Example HTTP request
Request path
/v1/cdns/{id}/description
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = cdn 1.0"
Request body
{
"description": "추가 정보 입력 - 설명"
}
Example HTTP response
Response 200
{
"cdn": {
"account_id": "",
"cache_expiry_time": "",
"cache_key_hostname": "",
"caching_option": "",
"cdn_origin_hostname": "",
"cdn_origin_port": "",
"cdn_origin_protocol": "",
"cdn_service_activation_state": "",
"cdn_service_config_version": "",
"cdn_service_domain": "",
"cdn_service_origin_path": "",
"cdn_service_state": "",
"content_policy": "",
"created_at": "",
"created_by": "",
"custom_forward_host_header": "",
"description": "",
"forward_host_header": "",
"id": "",
"modified_at": "",
"modified_by": "",
"name": "",
"origin_hostname_type": "",
"query_string_ignored": "",
"range_request_allowed": "",
"region": "",
"request_custom_headers": "",
"response_custom_headers": ""
}
}