API Overview

REST APIs support standard HTTP headers and status codes. IAM is used to manage online authentication for access security.

APIs provided by OBS (compatible with OpenStack Swift) comply with REST specifications (HTTP 1.1). With REST APIs from OBS (compatible with OpenStack Swift), users can send standard HTTP requests to perform operations such as creating, querying, and deleting containers or objects. Users can use any tool that supports REST requests to send requests to OBS (compatible with OpenStack Swift).

REST APIs provided by OBS (compatible with OpenStack Swift) are compatible with most OpenStack Swift APIs. Table 1 describes the compatibility between REST APIs provided by OBS (compatible with OpenStack Swift) and OpenStack Swift APIs (Version v1.0, Kilo).

Table 1 Compatibility between REST APIs provided by OBS (compatible with OpenStack Swift) and OpenStack Swift APIs

OpenStack Swift API

Function

Implemented by OBS (Compatible with OpenStack Swift)

Differences

GET Account

Obtains account information and the container list.

Yes

None

POST Account

Creates, updates, or deletes account metadata.

Yes

None

HEAD Account

Obtains account metadata.

Yes

None

GET Container

Obtains container information and the object list.

Yes

None

PUT Container

Creates a container.

Yes

None

DELETE Container

Deletes an empty container.

Yes

None

POST Container

Creates, updates, or deletes container metadata.

Yes

None

HEAD Container

Obtains container metadata.

Yes

None

BULK DELETE Container

Batch deletes containers.

Yes

In a response, the Content-Type header contains charset information.

POST Container Static WebSite

Configures container static websites.

Yes

None

POST Container Cross domain policy

Configures container cross-domain access policies.

Yes

None

POST container to container Synchronization

Configures container synchronization.

No

This function is not supported.

POST Container Quota

Configures the bucket quota.

No

This function is not supported.

GET Object

Obtains an object's content and metadata.

Yes

None

PUT Object

Creates or replaces an object.

Yes

None

COPY Object

Copies an object.

Yes

None

DELETE Object

Deletes an object.

Yes

None

HEAD Object

Obtains object metadata.

Yes

None

POST Object

Creates or updates object metadata.

Yes

None

Object Version

Supports operations corresponding to object versioning.

No

Object versioning is not supported.

GET Large Object

Gets large objects.

Yes

None

PUT Archive Auto Extraction

Automatically decompresses uploaded objects.

No

This function is not supported.

PUT Large Object

Puts large objects.

Yes

Static large objects can have a maximum of 1,000 parts.

COPY Large Object

Copies large objects.

Yes

None

BULK DELETE Object

Batch deletes objects.

Yes

None

Delete Large Object

Deletes large objects.

Yes

None

Expiring Object Support

Deletes objects as scheduled.

No

This function is not supported.

Object TempURL

Performs object TempURL operations.

Yes

When outgoing_allow_head is set in TempURL, the content of the Content-Type header cannot be removed.

Storage Policy

Configures storage policies.

No

OpenStack Swift's storage policy configuration is not supported. None of the APIs allow the X-Newest header to be carried.

Rate limiting

Allows a configuration file to limit the rate.

No

A configuration file is not allowed to limit the rate.

Erasure Code Support

Supports the Erasure Code algorithm at the underlying layer.

No

This function is not supported.

TempAuth

Supports simple authentication provided by OpenStack Swift.

No

Only IAM is supported.

The REST specifications of OBS (compatible with OpenStack Swift) are compatible with most specifications of OpenStack Swift. Table 2 describes the differences between the REST specifications of OBS (compatible with OpenStack Swift) and the OpenStack Swift specifications.

Table 2 Differences between the REST specifications of OBS (compatible with OpenStack Swift) and the OpenStack Swift specifications

Item

OpenStack Swift

REST Specifications of OBS (Compatible with OpenStack Swift)

Maximum number of containers under an account

None

100

Maximum number of objects under a container

None

50 million