A propos des API du kit SDK OCI
Oracle Cloud Infrastructure fournit plusieurs kits SDK pour faciliter le développement de solutions personnalisées.
Les kits SDK permettent de créer et de déployer des applications qui s'intègrent aux services Oracle Cloud Infrastructure. Différents kits SDK OCI prennent en charge Java, Python, Go, .NET, Typescript, Javascript et Ruby. Chaque kit SDK vous fournit les outils dont vous avez besoin afin de développer une application, y compris des exemples de code et de la documentation pour créer, tester et dépanner votre application. Le kit SDK Oracle Cloud Infrastructure vous permet d'écrire du code afin de gérer des ressources Oracle Cloud Infrastructure.
Utilisation des API du kit SDK OCI
Pour utiliser les kits SDK OCI, vous devez disposer des éléments suivants :
-
Un compte Oracle Cloud Infrastructure.
-
Un utilisateur créé dans ce compte, dans un groupe avec une stratégie qui octroie les droits d'utilisation souhaités. Il peut s'agir d'un utilisateur pour vous-même, ou d'une autre personne/un système devant appeler l'API.
Kit SDK OCI pour Java : vous pouvez télécharger le kit SDK OCI pour Java ici. Outre les exigences ci-dessus, Java version 8 ou supérieure doit être installé. Pour plus d'informations, reportez-vous à SDK pour Java.
Remarque : le kit SDK OCI est également disponible pour Python, Go, Typescript, Javascript, .NET et Ruby. Reportez-vous aux guides du kit SDK OCI.
Création d'une table unique à l'aide du kit SDK Java OCI
Vous pouvez utiliser la classe CreateTableRequest dans une méthode createTable pour créer une table NoSQL.
Le fragment de code suivant montre comment utiliser le kit SDK Java OCI pour créer une table 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);
Création d'une table active globale à l'aide du kit SDK Java OCI
Vous pouvez utiliser le kit SDK Java OCI pour créer une table active globale dans NDCS.
Pour créer une table Global Active :
-
Créez une table NoSQL contenant au moins une colonne JSON.
-
Geler le schéma de la table. Vous pouvez figer la TABLE lors de sa création en l'ajoutant avec un schéma figé dans l'instruction DDL CREATE TABLE.
-
Une table de base de données NoSQL devient une table active globale uniquement après l'ajout d'une table de répliques régionale. La table de répliques régionale est créée dans une autre région.
Le fragment de code suivant montre comment créer une table active globale à l'aide du kit 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);