Acerca de las API de SDK de OCI

Oracle Cloud Infrastructure proporciona una serie de kits de desarrollo de software (SDK) para facilitar el desarrollo de soluciones personalizadas.

Los kits de desarrollo de software (SDK) se utilizan para crear y desplegar aplicaciones que se integran con los servicios de Oracle Cloud Infrastructure. Hay diferentes SDK de OCI compatibles con Java, Python, Go, .NET, Typescript, Javascript y Ruby. Cada uno de los SDK proporciona las herramientas necesarias para desarrollar una aplicación, incluidos ejemplos de código y documentación para crear, hacer pruebas y solucionar problemas. El SDK de Oracle Cloud Infrastructure permite escribir código para gestionar los recursos de Oracle Cloud Infrastructure.

Uso de API de OCI SDK

Para utilizar los SDK de OCI, debe tener lo siguiente:
  • Una cuenta de Oracle Cloud Infrastructure.
  • Un usuario que se crea en esa cuenta en un grupo con una política que otorga los permisos deseados. Puede ser un usuario para sí mismo u otra persona/sistema que necesite llamar a la API.
SDK de OCI para Java: puede descargar el SDK de OCI para Java aquí. Además de los requisitos anteriores, debe tener instalado Java versión 8 o más. Para obtener más información, consulte SDK para Java.

Note:

El SDK de OCI también está disponible para Python, Go, Typescript, Javascript, .NET y Ruby. Consulte Guías de SDK de OCI para obtener más información.

Creación de una tabla singleton mediante el SDK de Java de OCI

Puede utilizar la clase CreateTableRequest dentro de un método createTable para crear una nueva tabla NoSQL.

El siguiente fragmento de código muestra cómo utilizar el SDK de Java de OCI para crear una tabla única.
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);

Creación de una tabla activa global mediante el SDK de Java de OCI

Puede utilizar el SDK de Java de OCI para crear una tabla activa global en NDCS.

Para crear una tabla activa global:
  • Cree una tabla NoSQL con al menos una columna de JSON en ella.
  • Congele el esquema de la tabla. Puede congelar la tabla al crearla agregando con el esquema congelado en la sentencia DDL CREATE TABLE.
  • Una tabla de base de datos NoSQL se convierte en una tabla activa global solo después de agregar una tabla de réplica regional. La tabla de réplicas regionales se crea en otra región.
En el siguiente fragmento de código se muestra cómo crear una tabla activa global mediante el SDK de Java de OCI.
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);