關於 OCI SDK API
Oracle Cloud Infrastructure 提供許多軟體開發套件 (SDK),以協助開發客製化解決方案。
軟體開發套件 (SDK) 可用來建置及部署與 Oracle Cloud Infrastructure 服務整合的應用程式。不同的 OCI SDK 支援 Java、Python、Go、.NET、Typecript、Javascript 和 Ruby。每個 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 。
附註:
Python、Go、Typecript、Javascript、.NET 和 Ruby 也提供 OCI SDK。請參閱 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 中建立「全域作用中」表格。
建立「全域作用中」表格:
- 建立至少包含一個 JSON 資料欄的 NoSQL 表格。
- 凍結表格的綱要。您可以在建立表格時凍結表格,方法是在 DDL CREATE TABLE 敘述句中以凍結的綱要新增。
- 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)) " +
"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);