Informazioni sulle API SDK OCI
Oracle Cloud Infrastructure fornisce 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. Esistono diversi SDK OCI che 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. Oracle Cloud Infrastructure SDK ti consente di scrivere codice per gestire le risorse Oracle Cloud Infrastructure.
Uso delle API SDK OCI
Per utilizzare gli SDK OCI, è necessario disporre dei seguenti elementi:
-
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 se stessi o un'altra persona/sistema che deve chiamare l'API.
OCI SDK 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. Vedere OCI SDK Guides.
Creazione di una tabella Singleton mediante l'SDK Java OCI
È possibile utilizzare la classe CreateTableRequest all'interno di un metodo createTable per creare una nuova tabella NoSQL.
Il seguente snippet 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 OCI Java SDK per creare una tabella attiva globale in NDCS.
Per creare una tabella attiva globale:
-
Creare una tabella NoSQL con almeno una colonna JSON al suo interno.
-
Congelare lo schema della tabella. È possibile congelare la tabella durante la creazione aggiungendo lo schema congelato nell'istruzione DDL CREATE TABLE.
-
Una tabella di database NoSQL diventa una tabella attiva globale solo dopo aver aggiunto una tabella di replica regionale. La tabella di replica regionale viene creata in un'altra area.
Lo snippet di codice riportato di seguito mostra come creare una tabella Global Active utilizzando 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);