Archive Storage API

Prev Next

Available in Classic and VPC

This guide describes the support information of the Archive Storage API, which is compatible with OpenStack Swift API, as well as common API call and authentication methods. The version supported by Archive Storage is 2.15.1 (Pike), and this guide is based on this version.

Supported APIs

The Archive Storage API can control various features required for the management and use of storage. For the list of supported operations, refer to the Archive Storage API Guide.

Call API

The following describes the steps to call the Archive Storage API.

1. Create authentication key
2. Check calling domain
3. Create token
4. Delete token

1. Create authentication key

The method of creating an authentication key for the use of the Archive Storage API is the same that of the Ncloud API. Refer to 1. Create authentication key of Ncloud API.

2. Check calling domain

While both HTTP and HTTPS protocols are supported, it is recommended to use HTTPS for data protection. The calling domain information by region is as follows.

Region Authentication URL Service URL
Korea https://kr.archive.ncloudstorage.com:5000 https://kr.archive.ncloudstorage.com

3. Create token

In NAVER Cloud Platform's Archive Storage, you can authenticate and create tokens using the OpenStack Keyston V3 API. Create tokens are entered as the X-Auth-Token header value when using account, container, and object operations.

Note

For more information on the OpenStack Keystone V3 API, refer to https://developer.openstack.org/api-ref/identity/v3/.

Create a token using the password authentication method. From the information of the API authentication key created from My Page > Manage account > Manage authentication key in the NAVER Cloud Platform portal, use the access key ID as user name and the secret key as user password.
When creating a token, you must limit it to the scope of the project. You can check the project ID and domain ID by clicking the [Check API usage information] button after requesting subscription from the Archive Storage console.
Tokens are valid for 24 hours, and you can suspend the use by requesting token deletion.

Statement

The statement is as follows.

POST /v3/auth/tokens

Request

The request parameters are as follows.

Name In Type Description
auth body object Auth object
identity body object Identity object
methods body array Authentication method. Uses the password authentication method
password body object Password object
user body object User object. id, password, and domain must be entered.
domain body object Domain object. Use it by entering the ID. The domain ID can be checked by clicking the [Check API usage information] button from the Archive Storage console.
scope body object Scope object. Use it by specifying the usage scope of the token as project.
project body object Project object. Use it by entering the ID. The project ID can be checked by clicking the [Check API usage information] button from the Archive Storage console.

The following is a request example.

curl -i -X POST -H "Content-Type: application/json" https://kr.archive.ncloudstorage.com:5000/v3/auth/tokens -d '
{
    "auth": {
        "identity": {
            "methods": [
                "password"
            ],
            "password": {
                "user": {
                    "name": "{access_key_id}",
                    "password": "{secret_key}",
                    "domain": {
                        "id": "{domain_id}"
                    }
                }
            }
        },
        "scope": {
            "project": {
                "id": "{project_id}"
            }
        }
    }
}'

Response

The response parameters are as follows.

Name In Type Description
X-Subject-Token header string Created token. The token value is delivered via header, rather than request body.
token body object Token object
methods body array Authentication method. Uses the password authentication method.
roles body array Role information list. Includes the ID and name information.
expires_at body string Token expiration date and time. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601). If the token expiration date is null, it does not expire.
issued_at body string Token creation date and time. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601)
project body object Project object. Includes the domain, ID, and name information.
catalog body array Catalog object
endpoints body array Endpoint information list
region_id body string Information of region where the service endpoint belongs to
url body string endpoint URL.
interface body string Interface type. The admin type can only be used by users with the admin permissions.
type body string Endpoint type
audit_ids body array A unique value generated randomly, which is used when searching the token information

The following is a response example.

HTTP/1.1 201 Created
Date: Mon, 17 Sep 2018 23:46:11 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
X-Subject-Token: gAAAAABboDzDOzds2V_2uzR9xn-AQkg5RRejRkGD9L5NuhwezSqqxpmY8ZNl48vYnC1GCn21AiffNtRrDedbvVq2usnPDH2qIp-Cq2Rx54fnH406NhhW9OiaKMzFwRzS7-js3j4xGMvEk2bPErmolAT4E1Du0vsF2azycC6sNcIMsVWcvd
Vary: X-Auth-Token
x-openstack-request-id: req-40a163b1-1fcc-423d-8ec3-3f40fd413ab6
Content-Length: 1759
Content-Type: application/json
{
    "token": {
        "is_domain": false,
        "methods": [
            "password"
        ],
        "roles": [
            {
                "id": "488fac210a714fcc91b61a32525b5693",
                "name": "user"
            }
        ],
        "expires_at": "2018-09-18T23:46:11.000000Z",
        "project": {
            "domain": {
                "id": "default",
                "name": "Default"
            },
            "id": "0a11d053d4804b4c86d26ae1ff48dc1e",
            "name": "ncp-test-0"
        },
        "catalog": [
            {
                "endpoints": [
                    {
                        "region_id": null,
                        "url": "https://kr.archive.ncloudstorage.com:5000/v3",
                        "region": null,
                        "interface": "public",
                        "id": "3bf62632266c4be0880cd7170ca90f55"
                    },
                    {
                        "region_id": null,
                        "url": "https://kr.archive.ncloudstorage.com:35357/v3",
                        "region": null,
                        "interface": "admin",
                        "id": "a29ce505b6cb429ea9ca15cb126251f7"
                    },
                    {
                        "region_id": null,
                        "url": "https://kr.archive.ncloudstorage.com:35357/v3",
                        "region": null,
                        "interface": "internal",
                        "id": "e524bcde8c5a4eec8750acf3e5819d69"
                    }
                ],
                "type": "identity",
                "id": "ae1a92e6b64f4e9886517aaca2540b26",
                "name": "keystone"
            },
            {
                "endpoints": [
                    {
                        "region_id": "RegionOne",
                        "url": "https://kr.archive.ncloudstorage.com/v1/AUTH_0a11d053d4804b4c86d26ae1ff48dc1e",
                        "region": "RegionOne",
                        "interface": "internal",
                        "id": "80773860110449b9b78dc3a05f3f6360"
                    },
                    {
                        "region_id": "RegionOne",
                        "url": "https://kr.archive.ncloudstorage.com/v1/AUTH_0a11d053d4804b4c86d26ae1ff48dc1e",
                        "region": "RegionOne",
                        "interface": "public",
                        "id": "40f7102a57024603a53f41c4d8cb7cf3"
                    },
                    {
                        "region_id": "RegionOne",
                        "url": "https://kr.archive.ncloudstorage.com",
                        "region": "RegionOne",
                        "interface": "admin",
                        "id": "5297ae442163478e82f6f9630919b93f"
                    }
                ],
                "type": "object-store",
                "id": "fb4cbd0bf18f4beb9ac29b09f0862ce2",
                "name": "swift"
            }
        ],
        "user": {
            "password_expires_at": null,
            "domain": {
                "id": "default",
                "name": "Default"
            },
            "id": "ac1eca9c1b9f4900a0b1c4a82be49686",
            "name": "qQXiRLju7XHMXpmEskHn"
        },
        "audit_ids": [
            "U-O5n4rBSoO5jBykNXYNsw"
        ],
        "issued_at": "2018-09-17T23:46:11.000000Z"
    }
}

4. Delete token

You can delete created tokens.

Statement

The statement is as follows.

DELETE /v3/auth/tokens

Request

The request parameters are as follows.

Name In Type Description
X-Auth-Token header string Valid token for authentication
X-Subject-Token header string Token subject to deletion. Becomes unavailable as soon as the request succeeds.

The following is a request example.

curl -i -X DELETE -H "X-Auth-Token: $token" -H "X-Subject-Token: $token_to_delete" https://kr.archive.ncloudstorage.com:5000/v3/auth/tokens

Response

If the request succeeds, it returns the No Content (204) status code. The following is a response example.

HTTP/1.1 204 No Content
Date: Tue, 18 Sep 2018 05:44:00 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
Vary: X-Auth-Token
x-openstack-request-id: req-b6e8efbe-c3f2-41bc-8ca5-1067753318d4
Content-Type: text/plain; charset=UTF-8