You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by de...@apache.org on 2026/08/04 06:32:03 UTC
(opendal) branch main updated: doc(s3): document compatibility with OCI object storage S3 API (#8006)
This is an automated email from the ASF dual-hosted git repository.
dentiny pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 71758fda8 doc(s3): document compatibility with OCI object storage S3 API (#8006)
71758fda8 is described below
commit 71758fda852053979a5f498390554abfbc63c75a
Author: dentiny <de...@gmail.com>
AuthorDate: Mon Aug 3 23:31:57 2026 -0700
doc(s3): document compatibility with OCI object storage S3 API (#8006)
---
core/services/s3/src/compatible_services.md | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/core/services/s3/src/compatible_services.md b/core/services/s3/src/compatible_services.md
index 328c13d57..aacd27902 100644
--- a/core/services/s3/src/compatible_services.md
+++ b/core/services/s3/src/compatible_services.md
@@ -57,6 +57,40 @@ builder.region("<region>");
builder.bucket("<bucket_name>");
```
+### Oracle Cloud Infrastructure Object Storage
+
+[Oracle Cloud Infrastructure (OCI) Object Storage](https://www.oracle.com/cloud/storage/object-storage/) provides an Amazon S3 Compatibility API.
+
+To connect with path-style requests, set:
+
+- `endpoint`: The endpoint containing the Object Storage namespace and OCI region, for example: `https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com`.
+- `region`: The OCI region identifier, for example: `us-ashburn-1`.
+- `bucket`: The bucket name.
+- `access_key_id` and `secret_access_key`: The access key and secret key from an OCI Customer Secret Key.
+
+```rust,ignore
+// Accepted endpoint includes "oci.customer-oci.com" and "oraclecloud.com", while "oci.customer-oci.com" is preferred.
+builder.endpoint(
+ "https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com",
+);
+builder.region("<region>");
+builder.bucket("<bucket_name>");
+builder.access_key_id("<access_key>");
+builder.secret_access_key("<secret_key>");
+```
+
+OCI also supports virtual-hosted-style requests. Use the endpoint
+`https://vhcompat.objectstorage.<region>.oci.customer-oci.com` and call
+`enable_virtual_host_style()` when selecting that form.
+
+OCI Object Storage differs from Amazon S3 in the following ways:
+
+- OCI uses an Object Storage namespace instead of Amazon S3's global bucket namespace. Bucket names must be unique within the namespace according to the configured bucket scope.
+- OCI organizes resources in compartments. Buckets created through the S3 Compatibility API use the tenancy's designated compartment, which defaults to the root compartment.
+- OCI encrypts every object at rest and does not allow clients to enable or disable encryption through the API.
+- OCI does not support object-level ACLs. OCI IAM policies control access instead, so S3 object ACL settings such as `default_acl` do not apply.
+- OCI requires AWS Signature Version 4; Signature Version 2 is not supported.
+
### QingStor Object Storage
[QingStor Object Storage](https://www.qingcloud.com/products/qingstor) is a S3-compatible service provided by [QingCloud](https://www.qingcloud.com/).