À propos des API de trousse SDK OCI
Oracle Cloud Infrastructure fournit un certain nombre de trousses de développement logiciel (SDK) pour faciliter le développement de solutions personnalisées.
Les trousses SDK sont utilisées pour créer et déployer des applications qui s'intègrent aux services Oracle Cloud Infrastructure. Différentes trousses SDK OCI prennent en charge Java, Python, Go, .NET, Typescript, Javascript et Ruby. Chaque trousse SDK fournit les outils nécessaires au développement d'une application, notamment des exemples de code et de la documentation, pour la création, les tests et le résolution des problèmes. La trousse SDK Oracle Cloud Infrastructure vous permet d'écrire du code pour gérer les ressources Oracle Cloud Infrastructure.
Utilisation des API de trousse SDK pour OCI
Pour utiliser les trousses SDK OCI, vous devez disposer des éléments suivants :
-
Un compte Oracle Cloud Infrastructure.
-
Un utilisateur qui est créé dans ce compte dans un groupe avec une politique qui accorde les autorisations souhaitées. Il peut s'agir d'un utilisateur pour vous-même, une autre personne ou un autre système qui doit appeler l'API.
Trousse SDK OCI pour Java : Vous pouvez télécharger la trousse SDK OCI pour Java ici. En plus des exigences ci-dessus, vous devez installer Java version 8 ou plus. Pour plus de détails, voir Trousse SDK pour Java.
Note : La trousse SDK OCI est également disponible pour Python, Go, Typescript, Javascript, .NET et Ruby. Voir Guides sur la trousse SDK pour OCI.
Création d'une table Singleton à l'aide de la trousse SDK Java pour OCI
Vous pouvez utiliser la classe CreateTableRequest dans une méthode createTable pour créer une nouvelle table NoSQL.
L'extrait de code suivant montre comment utiliser la trousse SDK Java pour 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 de la trousse SDK Java pour OCI
Vous pouvez utiliser la trousse SDK Java pour OCI pour créer une table active globale dans NDCS.
Pour créer une table active globale :
-
Créez une table NoSQL avec au moins une colonne JSON.
-
Geler le schéma de la table. Vous pouvez geler la TABLE lors de sa création en ajoutant un schéma gelé dans l'instruction DDL CREATE TABLE.
-
Une table NoSQL Database ne devient une table active globale qu'après l'ajout d'une table de réplica régionale. La table de répliques régionales est créée dans une autre région.
L'extrait de code suivant montre comment créer une table active globale à l'aide de la trousse SDK Java pour 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);