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 Servicios de Oracle Cloud Infrastructure. Hay diferentes SDK de OCI que admiten 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 recursos de la infraestructura de Oracle Cloud Infrastructure.
Uso de API de SDK de OCI
Para utilizar los SDK de OCI, debe tener lo siguiente:
-
Una cuenta de Oracle Cloud Infrastructure.
-
Un usuario creado en esa cuenta, en un grupo con una política que otorgue los permisos deseados. Puede ser un usuario para sí mismo o para 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 instalada la versión 8 de Java o más. Para obtener más información, consulte SDK para Java.
Nota: El SDK de OCI también está disponible para Python, Go, Typescript, Javascript, .NET y Ruby. Consulte Guías de SDK de OCI.
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.
En el siguiente fragmento de código se 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 con 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 JSON.
-
Congelar el esquema de la tabla. Puede congelar la tabla al crearla agregando un esquema congelado en la sentencia DDL CREATE TABLE.
-
Una tabla de NoSQL Database se convierte en una tabla activa global solo después de agregar una tabla de réplica regional. La tabla de réplica regional se crea en otra región.
En el siguiente fragmento de código se muestra cómo crear una tabla activa global con 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);