Informazioni sulle API SDK OCI

Oracle Cloud Infrastructure offre una serie di kit di sviluppo software (SDK) per facilitare lo sviluppo di soluzioni personalizzate.

I kit SDK (Software Development Kit) vengono utilizzati per creare e distribuire applicazioni che si integrano con i servizi Oracle Cloud Infrastructure. Diversi SDK OCI supportano Java, Python, Go, .NET, Typescript, Javascript e Ruby. Ogni SDK fornisce gli strumenti necessari per sviluppare un'applicazione, inclusi esempi di codice e documentazione per creare, testare e risolvere i problemi. L'SDK Oracle Cloud Infrastructure ti consente di scrivere codice per gestire le risorse di Oracle Cloud Infrastructure.

Uso delle API SDK OCI

Per utilizzare gli SDK OCI, devi disporre dei seguenti requisiti:
  • Un account Oracle Cloud Infrastructure.
  • Utente creato in tale account in un gruppo con un criterio che concede le autorizzazioni desiderate. Questo può essere un utente per te o un'altra persona/sistema che deve chiamare l'API.
SDK OCI per Java: puoi scaricare l'SDK OCI per Java qui. Oltre ai requisiti di cui sopra, è necessario installare Java versione 8 o superiore. Per ulteriori dettagli, vedere SDK per Java.

Nota

OCI SDK è disponibile anche per Python, Go, Typescript, Javascript, .NET e Ruby. Per ulteriori dettagli, consulta le guide all'SDK OCI.

Creazione della tabella Singleton con l'SDK Java OCI

È possibile utilizzare la classe CreateTableRequest all'interno di un metodo createTable per creare una nuova tabella NoSQL.

Il seguente frammento di codice mostra come utilizzare l'SDK Java OCI per creare una tabella singleton.
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);

Creazione di una tabella attiva globale mediante l'SDK Java OCI

È possibile utilizzare l'SDK Java OCI per creare una tabella Global Active in NDCS.

Per creare una tabella attiva globale:
  • Creare una tabella NoSQL contenente almeno una colonna JSON.
  • Bloccare lo schema della tabella. È possibile congelare la tabella durante la creazione aggiungendola con uno schema congelato nell'istruzione DDL CREATE TABLE.
  • Una tabella di database NoSQL diventa una tabella Global Active solo dopo aver aggiunto una tabella di replica regionale. La tabella di replica regionale viene creata in un'altra area.
Il seguente snippet di codice mostra come creare una tabella Global Active utilizzando l'SDK Java 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);