OCI SDK-APIs

Oracle Cloud Infrastructure bietet eine Reihe von Software Development Kits (SDKs), um die Entwicklung benutzerdefinierter Lösungen zu vereinfachen.

Software Development Kits (SDKs) werden zum Erstellen und Bereitstellen von Anwendungen verwendet, die mit Oracle Cloud Infrastructure-Services integriert werden können. Es gibt verschiedene OCI-SDKs, die Java, Python, Go, .NET, Typescript, Javascript und Ruby unterstützen. Jedes SDK bietet die für die Entwicklung einer Anwendung erforderlichen Tools, einschließlich Codebeispiele und Dokumentation für Erstellung, Tests und Fehlerbehebung. Das Oracle Cloud Infrastructure-SDK ermöglicht Ihnen das Schreiben von Code zur Verwaltung von Oracle Cloud Infrastructure-Ressourcen.

Mit OCI-SDK-APIs

Zur Verwendung der OCI-SDKs ist Folgendes erforderlich:
  • Einen Oracle Cloud Infrastructure-Account.
  • Ein Benutzer, der in diesem Account in einer Gruppe mit einer Policy erstellt wird, die die gewünschten Berechtigungen erteilt. Dies kann ein Benutzer für Sie selbst oder eine andere Person/ein anderes System sein, die/das die API aufrufen muss.
OCI-SDK für Java: Sie können das OCI-SDK für Java hier herunterladen. Zusätzlich zu den oben genannten Anforderungen müssen Sie Java Version 8 oder mehr installieren. Weitere Informationen finden Sie unter SDK für Java.

Hinweis:

OCI-SDK ist auch für Python, Go, Typescript, Javascript, .NET und Ruby verfügbar. Weitere Informationen finden Sie in den OCI-SDK-Leitfäden.

Singleton-Tabelle mit OCI-Java-SDK erstellen

Sie können die Klasse CreateTableRequest in einer createTable-Methode verwenden, um eine neue NoSQL-Tabelle zu erstellen.

Das folgende Code-Snippet zeigt, wie Sie mit dem OCI-Java-SDK eine Singleton-Tabelle erstellen.
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);

Globale aktive Tabelle mit OCI-Java-SDK erstellen

Mit dem OCI-Java-SDK können Sie eine globale aktive Tabelle in NDCS erstellen.

So erstellen Sie eine globale aktive Tabelle:
  • Erstellen Sie eine NoSQL-Tabelle mit mindestens einer darin enthaltenen JSON-Spalte.
  • Sperren Sie das Schema der Tabelle. Sie können die Tabelle beim Erstellen einfrieren, indem Sie ein Schema hinzufügen, das in der DDL CREATE TABLE-Anweisung eingefroren ist.
  • Eine NoSQL-Datenbanktabelle wird erst nach dem Hinzufügen einer regionalen Replikattabelle zu einer globalen aktiven Tabelle. Die regionale Replikattabelle wird in einer anderen Region erstellt.
Das folgende Code-Snippet zeigt, wie Sie eine globale aktive Tabelle mit dem OCI-Java-SDK erstellen.
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);