Supported Oracle Cloud Infrastructure Object Storage API Capabilities

The following tables describe the supported Oracle Cloud Infrastructure Object Storage API capabilities for Oracle ZFS Storage Appliance.

The appliance API for Oracle Cloud Infrastructure objects supports a subset of the Oracle Cloud Infrastructure Object Storage API. For full details about Oracle Cloud Infrastructure Object Storage API, including paths, complete descriptions of the requests, descriptions of the parameters, descriptions of all response codes, and examples, see Object Storage Service API. For an overview, see Overview of Object Storage.

Note:

No interoperability is supported between Oracle Cloud Infrastructure object APIs and Amazon S3 or Swift object APIs.

Listing Namespaces

A namespace is a unique, uneditable, system-generated string assigned to a tenant during account creation.

Request Path Description Normal Response Code

GET

/n/

(GetNamespace) Lists the name of the Object Storage namespace for the user making the request.

200

GET

/n/namespaceName

(GetNamespaceMetadata) Lists the metadata for the specified Object Storage namespace.

200

Managing Buckets

A bucket is a container for storing objects.

Request Append to Path /n/namespaceName Description Normal Response Code

GET

/b/

(ListBuckets) Lists all buckets that are on the specified namespace.

200

GET

/b/bucketName/

(GetBucket) Gets the specified bucket.

200

HEAD

/b/bucketName/

(HeadBucket) Gets the current entity tag (ETag) of the specified bucket.

200

POST

/b/

(CreateBucket) Creates a standard or archive bucket. No difference for Oracle ZFS Storage Appliance.

200

POST

/b/bucketName/

(UpdateBucket) Updates the user-defined metadata of the specified bucket.

200

DELETE

/b/bucketName/

(DeleteBucket) Deletes an empty bucket.

204

Managing Objects

An object is a set of data with associated metadata.

Request Append to Path /n/namespaceName Description Normal Response Code

GET

/b/bucketName/o

(ListObjects) Lists the objects in the specified bucket.

200

GET

/b/bucketName/objectversions

(ListObjectVersions) Lists the object versions in the specified bucket.

200

GET

/b/bucketName/o/objectName

(GetObject) Gets the metadata and body of the specified object.

200

HEAD

/b/bucketName/o/objectName

(HeadObject) Gets the user-defined metadata and ETag for the specified object.

200

POST

/b/bucketName/o/actions/copyObject

(CopyObject) Creates a request to copy an object within a region or to another region.

200

PUT

/b/bucketName/o/objectName

(PutObject) Creates a new object or overwrites an existing object with the same name.

200

DELETE

/b/bucketName/o/objectName

(DeleteObject) Deletes an object.

204

Multipart Upload

Individual parts of an object can be uploaded in parallel to reduce upload time.

Request Append to Path /n/namespaceName Description Normal Response Code

GET

/b/bucketName/u

(ListMultipartUploads) Lists all the in-progress multipart uploads for the specified bucket.

200

GET

/b/bucketName/u/objectName

(ListMultipartUploadParts) Lists the parts of an in-progress multipart upload.

200

POST

/b/bucketName/u

(CreateMultipartUpload) Starts a new multipart upload to a specific object in the specified bucket.

200

POST

/b/bucketName/u/objectName

(CommitMultipartUpload) Commits a multipart upload, which involves checking part numbers and ETags of the parts, to create an aggregate object.

200

PUT

/b/bucketName/u/objectName

(UploadPart) Uploads a single part of a multipart upload.

200

DELETE

/b/bucketName/u/objectName

(AbortMultipartUpload) Aborts an in-progress multipart upload and deletes all parts that have been uploaded.

204

Managing Pre-authenticated Requests

Pre-authenticated requests provide a way to let users access a bucket or an object without having their own credentials.

Request Append to Path /n/namespaceName Description Normal Response Code

POST

/b/bucketName/p/

(CreatePreauthenticatedRequest) Creates a pre-authenticated request specific to the bucket.

200

DELETE

/b/bucketName/p/parID

(DeletePreauthenticatedRequest) Deletes the specified pre-authenticated request.

200

GET

/b/bucketName/p/parID

(GetPreauthenticatedRequest) Gets the specified pre-authenticated request.

200

GET

/b/bucketName/p/

(ListPreauthenticatedRequests) Lists pre-authenticated requests for the bucket.

200

Managing Retention Rules

A retention rule specifies the length of time to retain data in a bucket.

Request Append to Path /n/namespaceName Description Normal Response Code

POST

/b/bucketName/retentionRules

(CreateRetentionRule) Creates a new retention rule in the specified bucket.

200

DELETE

/b/bucketName/retentionRules/retentionRuleId

(DeleteRetentionRule) Deletes the specified rule.

204

GET

/b/bucketName/retentionRules/retentionRuleId

(GetRetentionRule) Get the specified retention rule.

200

GET

/b/bucketName/retentionRules

(ListRetentionRules) List the retention rules for the specified bucket.

200

PUT

/b/bucketName/retentionRules/retentionRuleId

(UpdateRetentionRule) Update the specified retention rule.

200