關於 OCI SDK API

Oracle Cloud Infrastructure 提供許多軟體開發套件 (SDK),有助於開發客製化解決方案。

軟體開發套件 (SDK) 是用來建置和部署與 Oracle Cloud Infrastructure 服務整合的應用程式。不同的 OCI SDK 支援 Java、Python、Go、.NET、Typscript、Javascript 和 Ruby。每個 SDK 都提供開發應用程式所需的工具,包括程式碼範例和文件,以建立、測試及疑難排解。Oracle Cloud Infrastructure SDK 可讓您編寫程式碼來管理 Oracle Cloud Infrastructure 資源。

使用 OCI SDK API

若要使用 OCI SDK,您必須具有下列項目:

適用於 Java 的 OCI SDK:您可以在這裡下載適用於 Java 的 OCI SDK。除了上述需求之外,您必須安裝 Java 版本 8 或更新版本。如需詳細資訊,請參閱 SDK for Java

注意:Python、Go、Typescript、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 中建立全域作用中表格。

建立「全域作用中」表格:

下列程式碼片段顯示如何使用 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);