Skip to main content
Version: 2.0.0

Object Storage

OCI Object Storage stores arbitrary files and objects. Spring Cloud Oracle adds both a storage API and a Spring Resource integration.

Dependency Coordinates

Maven

<dependency>
<groupId>com.oracle.cloud.spring</groupId>
<artifactId>spring-cloud-oci-starter-storage</artifactId>
</dependency>

Gradle

dependencies {
implementation("com.oracle.cloud.spring:spring-cloud-oci-starter-storage")
}

Using Object Storage

The starter auto-configures a Storage bean for bucket and object operations.

@Autowired
private Storage storage;

public void createBucketAndUploadFile() {
Bucket bucket = storage.createBucket("my-bucket");

storage.upload(
"my-bucket",
"my-file.txt",
inputStream,
StorageObjectMetadata.builder().contentType("text/plain").build());
}

Spring Resource Support

Object Storage objects can be accessed using Spring's resource abstraction.

@Value("https://objectstorage.us-chicago-1.oraclecloud.com/n/${OCI_NAMESPACE}/b/${OCI_BUCKET}/o/${OCI_OBJECT}")
private Resource myObjectResource;
SpringApplication.run(...).getResource("Object Storage URL");

The resulting Resource can be read like other Spring resources. This resource support is currently read-only.

Configuration

NameDescriptionRequiredDefault
spring.cloud.oci.storage.enabledEnables the OCI Object Storage APIsNotrue

Sample

See spring-cloud-oci-storage-sample.