Ncloud Storage overview

Prev Next

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.

Note

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
  • 3 to 63 characters consisting of lowercase English letters, numbers, and the special character "-"
  • The string must start and end with a lowercase English letter or a number.
  • Unavailable prefixes and suffixes: See Bucket name rule.
  • Check bucket name: See ListBuckets.
regionCode Required Region code
  • kr: Korea Region (valid value)
Note

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
  • AWS Signature Version 4 is used.
  • Use the access key and secret key issued by NAVER Cloud Platform.
Host Required Endpoint by Region
  • Example: kr.ncloudstorage.com
x-amz-date Required Request date and time
  • ISO 8601 format (based on UTC)
Content-Length Conditional Request body size (byte)
  • Required when requesting object upload

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
  • bytes | none
    • bytes: supported
    • none: not supported
connection - Whether to maintain connection
  • keep-alive | close
    • keep-alive: Maintain connection after request is completed.
    • close: Remove connection after request is completed.
Content-Length - Response body size (byte)
Content-Type - Request data format
date - Response date and time
  • HTTP-date format (based on GMT)
etag - Unique object identifier (entity tag)
last-modified - Last modification date and time
  • HTTP-date format (based on GMT)
server - Response return server name
  • Ncloud Storage (valid value)
x-amz-access-point-alias - Bucket name type
  • true | false
    • true: access point alias
    • false: bucket name
x-amz-bucket-region - Bucket Region
  • kr: Korea Region
x-amz-checksum-type - Object checksum type
  • COMPOSITE | FULL_OBJECT
    • COMPOSITE: multipart checksum
    • FULL_OBJECT: full object checksum
x-amz-delete-marker - Whether there is an object deletion marker
  • true | false
    • true: deletion marker
    • false: normal object
x-amz-id-2 - Request ID
  • Use for troubleshooting with x-amz-request-id.
x-amz-object-size - Object size (byte)
x-amz-request-id - Request ID
  • UUID format
x-amz-version-id - Version control ID
  • Display when version control is enabled.

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
Note

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.