A propos des API de kit SDK OCI

Oracle Cloud Infrastructure fournit plusieurs kits SDK pour faciliter le développement de solutions personnalisées.

Les kits SDK sont utilisés pour créer et 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 SDK Oracle Cloud Infrastructure vous permet d'écrire du code pour gérer les ressources Oracle Cloud Infrastructure.

Utilisation des API de kit SDK OCI

Pour utiliser les kits 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 stratégie qui accorde les droits d'accès souhaités. Il peut s'agir d'un utilisateur pour vous-même ou d'une autre personne/un autre système devant appeler l'API.
OCI SDK pour Java : vous pouvez télécharger le kit SDK pour Java ici. Outre les exigences ci-dessus, vous devez installer Java version 8 ou supérieure. Pour plus de détails, reportez-vous à Kit SDK pour Java.

Remarques :

Le kit SDK OCI est également disponible pour Python, Go, Typescript, Javascript, .NET et Ruby. Pour plus de détails, reportez-vous aux guides du kit SDK OCI.

Création d'une table singleton à 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 active globale :
  • Créez une table NoSQL contenant au moins une colonne JSON.
  • Geler le schéma de la table. Vous pouvez geler la table lors de sa création en l'ajoutant avec le 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éplique régionale. La table de répliques régionales est créée dans une autre région.
Le fragment de code suivant explique 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);