package architecture.studio.services; import java.util.List; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import com.oracle.bmc.objectstorage.ObjectStorage; import com.oracle.bmc.objectstorage.model.ObjectSummary; import com.oracle.bmc.objectstorage.requests.GetObjectRequest; import com.oracle.bmc.objectstorage.requests.ListObjectsRequest; import com.oracle.bmc.objectstorage.responses.GetObjectResponse; import com.oracle.bmc.objectstorage.responses.ListObjectsResponse; import architecture.studio.services.spring.config.oci.OciClientConfig; import lombok.extern.slf4j.Slf4j; @Slf4j @SpringBootTest(classes=architecture.studio.services.spring.config.oci.OciClientConfig.class) public class TestOciClient { @Autowired @Qualifier(OciClientConfig.SERVICE_NAME) ObjectStorage client; @Test public void test() throws Exception { // OCI Object Storage client check. log.info("oci : {}" , client ); /* you can find namespace in your bucket details page under Bucket information in OCI console */ String namespaceName = "<namespace name>"; // 버킷 이름 설정 String bucketName = "<bucket name>"; // 객체 목록 조회 ListObjectsRequest listObjectsRequest = ListObjectsRequest.builder() .namespaceName(namespaceName) .bucketName(bucketName) .build(); ListObjectsResponse listObjectsResponse = client.listObjects(listObjectsRequest); List<ObjectSummary> objectSummaries = listObjectsResponse.getListObjects().getObjects(); // 조회된 객체 목록 출력 for (ObjectSummary objectSummary : objectSummaries) { log.debug("Object: {}, {}", objectSummary.getName(), objectSummary); GetObjectResponse objectDetails = getObject(namespaceName, bucketName, objectSummary.getName()); log.debug("Object : {}", objectDetails ); } } public GetObjectResponse getObject(String namespaceName, String bucketName, String objectName){ GetObjectRequest getObjectRequest = GetObjectRequest.builder() .namespaceName(namespaceName) .bucketName(bucketName) .objectName(objectName).build(); return client.getObject(getObjectRequest); } }