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를 사용하여 전역 활성 테이블 생성
OCI Java SDK를 사용하여 NDCS에서 전역 활성 테이블을 생성할 수 있습니다.
Global Active Table을 생성하려면 다음과 같이 하십시오.
-
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);