Available in Classic and VPC
Ncloud Storage is an object storage service provided by NAVER Cloud Platform that guarantees excellent scalability, availability, and data durability, allowing you to store and retrieve data at any time. Ncloud Storage service provides APIs in RESTful format for features such as bucket management and object upload for storing and managing data.
The Ncloud Storage API is designed to be highly compatible with Amazon S3 API v2006-03-01. For more information about the Ncloud Storage API, see AWS's S3 API Reference.
Common Ncloud Storage settings
The following describes commonly used request and response formats in Ncloud Storage APIs.
Request
The following describes the common request format.
API URL
The request API URL is as follows:
https://{Bucket}.{regionCode}.ncloudstorage.com
The following describes Bucket
and regionCode
.
Components | Required | Description |
---|---|---|
Bucket |
Optional | Bucket name
|
regionCode |
Required | Region code
|
See the following for information about the API URL.
- HTTP/HTTPS protocols are supported. However, we recommend using HTTPS for data protection.
- Currently, the Korea Region is supported, and additional Regions will be added in the future.
Request headers
The following describes the request headers.
Field | Required | Description |
---|---|---|
Authorization |
Required | Signature for authentication
|
Host |
Required | Endpoint by Region
|
x-amz-date |
Required | Request date and time
|
Content-Length |
Conditional | Request body size (byte)
|
Response
The following describes the common response format.
Response headers
The following describes the response headers.
Field | Required | Description |
---|---|---|
accept-ranges |
- | Whether range request is supported
|
connection |
- | Whether to maintain connection
|
Content-Length |
- | Response body size (byte) |
Content-Type |
- | Request data format |
date |
- | Response date and time
|
etag |
- | Unique object identifier (entity tag) |
last-modified |
- | Last modification date and time
|
server |
- | Response return server name
|
x-amz-access-point-alias |
- | Bucket name type
|
x-amz-bucket-region |
- | Bucket Region
|
x-amz-checksum-type |
- | Object checksum type
|
x-amz-delete-marker |
- | Whether there is an object deletion marker
|
x-amz-id-2 |
- | Request ID
|
x-amz-object-size |
- | Object size (byte) |
x-amz-request-id |
- | Request ID
|
x-amz-version-id |
- | Version control ID
|
Response status codes
The following describes the response status codes.
HTTP status code | Code | Description | Billing status |
---|---|---|---|
304 | NotModified | The resource has not been changed. | N |
400 | AuthorizationHeaderMalformed | Invalid authentication or Region information | N |
400 | AuthorizationQueryParametersError | Invalid authentication query parameter | N |
400 | BadDigest | The Content-MD5 value or checksum value in the request header does not match the value calculated by the server. | Y |
400 | EntityTooLarge | The size of the uploaded object exceeds the maximum allowed size. | N |
400 | EntityTooSmall | The size of the uploaded object is smaller than the minimum allowed size. | N |
400 | InvalidArgument | Invalid request parameter or header | N |
400 | InvalidBucketName | Invalid bucket name format | N |
400 | InvalidDigest | Error in Content-MD5 or checksum value of request header | N |
400 | InvalidLocationConstraint | Invalid Region restriction condition | N |
400 | InvalidPart | One or more of the specified parts can't be found (part not uploaded or ETag doesn't match specified part). | Y |
400 | InvalidPartNumber | Invalid part number | Y |
400 | InvalidPartOrder | The part list is not sorted in ascending order by part number. | Y |
400 | InvalidRequest | Invalid request | N |
400 | InvalidStorageClass | Invalid storage class | N |
400 | InvalidURI | Unparseable URI | N |
400 | KeyTooLongError | The length of the entered key exceeds the allowed range. | N |
400 | MalformedXML | The entered XML format is incorrect or has not been validated against the published schema. | N |
400 | MetadataTooLarge | The size of the header in the metadata exceeds the maximum size allowed. | N |
400 | MissingRequestBodyError | The request body is empty. | N |
400 | NotImplemented | Unimplemented header entry | N |
400 | RequestHeaderSectionTooLarge | The request header and request query parameters exceed the maximum allowed size. | N |
400 | TooManyBuckets | The number of allowed buckets (100) has been exceeded. | N |
400 | XAmzContentSHA256Mismatch | The x-amz-content-sha256 header value does not match the value calculated by the server. | N |
400 | InvalidEncryptionAlgorithmError | Invalid encryption algorithm | N |
403 | AccessDenied | Access unauthorized | N |
403 | InvalidAccessKeyId | Non-existent access key ID | N |
403 | InvalidObjectState | Invalid operation request for current object status | Y |
403 | RequestTimeTooSkewed | The difference between the request time and the server time is too large. | N |
403 | SignatureDoesNotMatch | The request signature value does not match the value calculated by the server. | N |
404 | NoSuchBucket | Non-existent bucket | N |
404 | NoSuchKey | Non-existent key | Y |
404 | NoSuchUpload | Non-existent multipart upload (upload ID error or multipart upload interrupted/completed) | Y |
404 | NoSuchVersion | Non-existent version ID | Y |
404 | NoSuchLifecycleConfiguration | Non-existent lifecycle rule | Y |
405 | MethodNotAllowed | Unauthorized method request for resource | N |
409 | BucketAlreadyExists | Unavailable bucket name | N |
409 | BucketAlreadyOwnedByYou | Bucket creation request for an existing bucket | Y |
409 | BucketNotEmpty | Deletion request for non-empty bucket | Y |
409 | BucketNotEmptyInUnversioned | Deletion request for non-empty bucket (version control disabled) | N |
409 | RestoreAlreadyInProgress | Object restoration is already in progress. | Y |
411 | MissingContentLength | Content-Length header missing | N |
412 | PreconditionFailed | At least one of the specified prerequisites is not met. | Y |
416 | InvalidPartNumber | The requested part number is not acceptable. | Y |
416 | InvalidRange | The requested range is not suitable for the request. | Y |
429 | SlowDown | Too many requests | N |
500 | InternalError | Internal server errors | N |
503 | ServiceUnavailable | The service can't process the request. | N |
For information about the HTTP status codes common to all NAVER Cloud Platform, see Ncloud API response status codes.
Ncloud Storage API
The following describes the APIs provided by the Ncloud Storage service.
Bucket
The following describes the bucket-related APIs.
API | Description |
---|---|
CreateBucket | Create Ncloud Storage bucket. |
GetBucketEncryption | Get the encryption policy for a Ncloud Storage bucket. |
GetBucketLifecycleConfiguration | Get the lifecycle of a Ncloud Storage bucket. |
GetBucketLocation | Get the Region information of a Ncloud Storage bucket. |
GetBucketVersioning | Get the version status of a Ncloud Storage bucket. |
HeadBucket | Get metadata of a Ncloud Storage bucket. |
ListBuckets | Get the Ncloud Storage bucket list. |
PutBucketVersioning | Change the version status of a Ncloud Storage bucket. |
PutBuckeLifecycleConfiguration | Change the lifecycle of a Ncloud Storage bucket. |
DeleteBucket | Delete Ncloud Storage bucket. |
DeleteBucketLifecycle | Delete the lifecycle of a Ncloud Storage bucket. |
Object
The following describes the object-related APIs.
API | Description |
---|---|
CopyObject | Copy an object stored in a Ncloud Storage bucket. |
PutObject | Save an object in a Ncloud Storage bucket. |
GetObject | Download and get an object stored in a Ncloud Storage bucket. |
HeadObject | Get the metadata of an object stored in a Ncloud Storage bucket. |
ListObjects | Get the list of objects in a Ncloud Storage bucket. |
ListObjectsV2 | Get the list of objects in a Ncloud Storage bucket (latest version). |
ListObjectVersions | Get the metadata of all versions of an object stored in a bucket that uses version control. |
RestoreObject | Restore an object so that the object stored in the Archive Class can be accessed. |
DeleteObject | Delete an object stored in a Ncloud Storage bucket. |
DeleteObjects | Bulk delete objects stored in a Ncloud Storage bucket. |
Multipart Upload
The following describes the multipart upload-related APIs.
API | Description |
---|---|
CreateMultipartUpload | Start multipart upload and return upload ID. |
UploadPart | Upload a part of a multipart upload. |
UploadPartCopy | Copy an object already saved in a bucket and upload it as a part. |
ListParts | Get the part list of a multipart upload. |
ListMultipartUploads | Get the list of multipart uploads in progress. |
CompleteMultipartUpload | Combine uploaded parts to create an object and complete multipart upload. |
AbortMultipartUpload | Stop ongoing multipart upload. |
Ncloud Storage related resources
NAVER Cloud Platform provides a variety of related resources to help users better understand Ncloud Storage APIs.
- Ncloud Storage API guides
- Sub Account User Guides: how to issue the access key to be added to the request header
- Common Ncloud response status codes: information on common response status codes of NAVER Cloud Platform used by the Ncloud Storage service
- Ncloud Storage service guides
- Ncloud Storage User Guides: how to use Ncloud Storage in the NAVER Cloud Platform console
- Ncloud use environment guide: guide for VPC and Classic environments and support availability
- Introduction to pricing, characteristics, and detailed features: summary of Ncloud Storage pricing system, characteristics, and detailed features
- Latest service news: the latest news on Ncloud Storage service
- FAQ: frequently asked questions from Ncloud Storage service users
- Support: Send direct inquiries for unresolved questions that aren't answered by the API guide.