OCI SDK API 정보

Oracle Cloud Infrastructure는 맞춤형 솔루션을 쉽게 개발할 수 있도록 다양한 SDK(소프트웨어 개발 키트)를 제공합니다.

SDK(소프트웨어 개발 키트)는 Oracle Cloud Infrastructure 서비스와 통합되는 앱을 구축하고 배포하는 데 사용됩니다. Java, Python, Go, .NET, Typescript, Javascript, Ruby를 지원하는 다양한 OCI SDK가 있습니다. 각 SDK는 생성, 테스트, 문제 해결을 위한 코드 샘플 및 설명서를 포함하여 앱 개발에 필요한 도구를 제공합니다. Oracle Cloud Infrastructure SDK를 사용하면 Oracle Cloud Infrastructure 리소스를 관리하는 코드를 작성할 수 있습니다.

OCI SDK API 사용

OCI SDK를 사용하려면 다음이 있어야 합니다.
  • Oracle Cloud Infrastructure 계정입니다.
  • 원하는 권한을 부여하는 정책이 포함된 그룹의 해당 계정에서 생성된 사용자입니다. 본인의 사용자이거나 API를 호출해야 하는 다른 사람/시스템일 수 있습니다.
Java용 OCI SDK: Java용 OCI SDK는 여기에서 다운로드할 수 있습니다. 위의 요구 사항 외에도 Java 버전 8 이상이 설치되어 있어야 합니다. 자세한 내용은 SDK for Java를 참조하십시오.

주:

OCI SDK는 Python, Go, Typescript, Javascript, .NET, Ruby에서도 사용할 수 있습니다. 자세한 내용은 OCI SDK 가이드를 참고하세요.

OCI Java SDK를 사용하여 싱글톤 테이블 생성

createTable 메소드 내에 CreateTableRequest 클래스를 사용하여 새 NoSQL 테이블을 생성할 수 있습니다.

다음 코드 조각은 OCI Java SDK를 사용하여 싱글톤 테이블을 생성하는 방법을 보여줍니다.
private static final String DEF_OCI_CONFIG = "~/.oci/config";
private static final String DEF_PROFILE = "DEFAULT";
String tableName = "<table_name>"; 
String region = "<region_name>";

/* Initialize NoSQLHandle */
   NosqlClient client = connect(endpoint, DEF_OCI_CONFIG, DEF_PROFILE);

/* Create table */
   String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(" +
                     "id INTEGER, info JSON, PRIMARY KEY(id)) " ;
   TableLimits limits = TableLimits.builder()
                .maxReadUnits(50)
                .maxWriteUnits(50)
                .maxStorageInGBs(1)
                .build();
   CreateTableDetails.Builder payload = CreateTableDetails.builder()
                .compartmentId(compartmentId)
                .name(tableName)
                .ddlStatement(ddl)
                .tableLimits(limits);
   CreateTableRequest tableReq = CreateTableRequest.builder()
                .createTableDetails(payload.build())
                .build();
   CreateTableResponse tableRes = client.createTable(tableReq);
        output("\nCreating table: " + ddl);
        waitForComplete(client, tableRes.getOpcWorkRequestId());
        output("Table created: " + tableName);

OCI Java SDK를 사용하여 Global Active Table 생성

OCI Java SDK를 사용하여 NDCS에서 전역 활성 테이블을 생성할 수 있습니다.

전역 활성 테이블을 생성하려면 다음과 같이 하십시오.
  • JSON 열이 하나 이상 포함된 NoSQL 테이블을 생성합니다.
  • 테이블의 스키마를 고정합니다. DDL CREATE TABLE 문에 고정된 스키마를 사용하여 테이블을 생성하는 동안 테이블을 고정할 수 있습니다.
  • NoSQL 데이터베이스 테이블은 지역 복제본 테이블을 추가한 후에만 전역 활성 테이블이 됩니다. 지역 복제본 테이블이 다른 지역에 생성됩니다.
다음 코드 조각은 OCI Java SDK를 사용하여 Global Active Table을 생성하는 방법을 보여줍니다.
private static final String DEF_OCI_CONFIG = "~/.oci/config";
private static final String DEF_PROFILE = "DEFAULT";
String tableName = "<table_name>"; 
String region = "<region_name>";

/* Initialize NoSQLHandle */
   NosqlClient client = connect(endpoint, DEF_OCI_CONFIG, DEF_PROFILE);

/* Create table */
   String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(" +
                     "id INTEGER, info JSON, PRIMARY KEY(id)) " +
                     "with schema frozen";
   TableLimits limits = TableLimits.builder()
                .maxReadUnits(50)
                .maxWriteUnits(50)
                .maxStorageInGBs(1)
                .build();
   CreateTableDetails.Builder payload = CreateTableDetails.builder()
                .compartmentId(compartmentId)
                .name(tableName)
                .ddlStatement(ddl)
                .tableLimits(limits);
   CreateTableRequest tableReq = CreateTableRequest.builder()
                .createTableDetails(payload.build())
                .build();
   CreateTableResponse tableRes = client.createTable(tableReq);
        output("\nCreating table: " + ddl);
        waitForComplete(client, tableRes.getOpcWorkRequestId());
        output("Table created: " + tableName);

/* Add replica ca-montreal-1 */
   CreateReplicaDetails info = CreateReplicaDetails
                .builder()
                .region(region)
                .compartmentId(compartmentId)
                .build();
   CreateReplicaRequest replicaReq = CreateReplicaRequest
                .builder()
                .tableNameOrId(tableName)
                .createReplicaDetails(info)
                .build();
   CreateReplicaResponse replicaRes = client.createReplica(replicaReq);
        output("\nAdding replica: " + region);
        waitForComplete(client, replicaRes.getOpcWorkRequestId());
        output("Added replica: " + region);