Compatibility Between OBS APIs and PFS

You can call some OBS APIs to use PFS. There may be additional requirements when you call these APIs.

For details about the OBS APIs, see the Object Storage Service API Reference.

APIs for Basic Bucket Operations

Table 1 APIs for basic bucket operations

API

PFS Compatible

Differences

Listing buckets

Yes

The x-obs-bucket-type:POSIX header is required for obtaining the list of parallel file systems.

Creating a bucket

Yes

The x-obs-fs-file-interface:Enabled header is required for creating a parallel file system.

Listing objects in a bucket

Yes

-

Obtaining bucket metadata

Yes

-

Obtaining bucket region locations

Yes

-

Deleting a bucket

Yes

-

APIs for Advanced Bucket Settings

Table 2 APIs for advanced bucket settings

API

PFS Compatible

Differences

Configuring a bucket policy

Yes

-

Obtaining bucket policy information

Yes

-

Deleting a bucket policy

Yes

-

Configuring a bucket ACL

Yes

-

Obtaining bucket ACL information

Yes

-

Configuring logging for a bucket

Yes

-

Obtaining a bucket logging configuration

Yes

-

Configuring bucket lifecycle rules

Yes

-

Obtaining bucket lifecycle configuration

Yes

-

Deleting bucket lifecycle rules

Yes

-

Configuring versioning for a bucket

No

-

Obtaining bucket versioning status

No

-

Configuring event notification for a bucket

Yes

-

Obtaining the event notification configuration of a bucket

Yes

-

Configuring storage class for a bucket

No

-

Obtaining bucket storage class information

No

-

Configuring cross-region replication for a bucket

No

-

Obtaining the cross-region replication configuration of a bucket

No

-

Deleting the cross-region replication configuration of a bucket

No

-

Configuring tags for a bucket

Yes

-

Obtaining bucket tags

Yes

-

Deleting bucket tags

Yes

-

Configuring bucket storage quota

Yes

-

Querying bucket storage quota

Yes

-

Querying information about used space in a bucket

Yes

-

Configuring bucket inventories

No

-

Obtaining bucket inventories

No

-

Listing bucket inventories

No

-

Deleting bucket inventories

No

-

Configuring a custom domain name for a bucket

Yes

-

Obtaining the custom domain name of a bucket

Yes

-

Deleting a custom domain name of a bucket

Yes

-

Configuring bucket encryption

No

-

Obtaining bucket encryption configuration

No

-

Deleting the encryption configuration of a bucket

No

-

APIs for Static Website Hosting

Table 3 APIs for static website hosting

API

PFS Compatible

Differences

Configuring static website hosting for a bucket

No

-

Obtaining the static website hosting configuration of a bucket

No

-

Deleting the static website hosting configuration of a bucket

No

-

Configuring bucket CORS

No

-

Obtaining the CORS configuration of a bucket

No

-

Deleting the CORS configuration of a bucket

No

-

OPTIONS buckets

No

-

OPTIONS objects

No

-

APIs for Object Operations

Table 4 APIs for object operations

API

PFS Compatible

Differences

PUT objects

Yes

  • Headers not supported: x-obs-storage-class, x-obs-website-redirect-location, x-obs-server-side-encryption, x-obs-server-side-encryption-kms-key-id, x-obs-server-side-encryption-customer-algorithm, x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5, success-action-redirect, and x-obs-expires

  • Objects uploaded using this API cannot be directly stored in the Infrequent Access or Archive storage class and are stored in the Standard storage class by default. You can later change the storage class by using a lifecycle rule or modifying the metadata.

POST objects

Yes

  • Headers not supported: x-obs-storage-class, x-obs-website-redirect-location, x-obs-server-side-encryption, x-obs-server-side-encryption-kms-key-id, x-obs-server-side-encryption-customer-algorithm, x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5, success-action-redirect, and x-obs-expires

  • This API cannot be used to upload directories.

Copying objects

Yes

Data can be replicated only between parallel file systems or buckets that are in the same cluster.

Obtaining object content

Yes

-

Obtaining object metadata

Yes

-

Deleting an object

Yes

-

Batch deleting objects

Yes

-

Restoring Cold objects

No

-

Appending objects

No

-

Configuring object ACL

Yes

-

Obtaining object ACL information

Yes

-

Modifying object metadata

Yes

-

Modifying an object

Yes

This is a PFS only API and is not supported for OBS buckets.

Truncating an object

Yes

This is a PFS only API and is not supported for OBS buckets.

Renaming an object

Yes

This is a PFS only API and is not supported for OBS buckets.

APIs for Multipart Uploads

Table 5 APIs for multipart uploads

API

PFS Compatible

Differences

Listing initialized multipart tasks in a bucket

Yes

-

Initiating multipart upload tasks

Yes

-

Uploading parts

Yes

-

Copying parts

Yes

Copying parts is not supported for an appended file.

Listing uploaded parts

Yes

-

Merging parts

Yes

-

Canceling multipart tasks

Yes

-