Obtention d'un descripteur NoSQL

Découvrez comment accéder aux tables au moyen des pilotes Oracle NoSQL Database. Commencez à développer votre application en créant un descripteur NoSQL. Utilisez NoSQLHandle pour accéder aux tables et exécuter toutes les opérations.

Pour créer une connexion représentée par NoSQLHandle, obtenez un descripteur à l'aide de la méthode NoSQLHandleFactory.createNoSQLHandle et de la classe NoSQLHandleConfig. La classe NoSQLHandleConfig permet à une application de spécifier la configuration de l'indicateur. Voir le document Java API Reference Guide pour plus d'informations.

Utilisez le code suivant pour obtenir un descripteur NoSQL :
/* Configure a handle for the desired Region and AuthorizationProvider.
 * By default this SignatureProvider constructor reads authorization
 * information from ~/.oci/config and uses the default user profile and
 * private key for request signing. Additional SignatureProvider
 * constructors are available if a config file is not available or
 * desirable. 
 */
AuthorizationProvider ap = new SignatureProvider();

/* Use the us-ashburn-1 region */
NoSQLHandleConfig config = new NoSQLHandleConfig(Region.US_ASHBURN_1, ap);
config.setAuthorizationProvider(ap);

/* Sets a default compartment for all requests from this handle. This 
 * may be overridden in individual requests or by using a
 * compartment-name prefixed table name.
 */
config.setDefaultCompartment("mycompartment");

// Open the handle
NoSQLHandle handle = NoSQLHandleFactory.createNoSQLHandle(config);

// Use the handle to execute operations

Des ressources de mémoire et de réseau sont associées au descripteur. Utilisez la méthode NoSQLHandle.close pour libérer les ressources lors de l'utilisation du descripteur pour l'application.

Pour réduire l'activité réseau et les frais généraux d'affectation et d'annulation de l'affectation et de l'affectation des ressources, il est préférable d'éviter de créer et de fermer des descripteurs de manière Par exemple, la création et la fermeture d'un descripteur pour chaque opération nuisent à la performance des applications. Comme un descripteur permet les opérations concurrentes, un seul descripteur est donc suffisant pour accéder aux tables dans une application à unités d'exécution multiples. La création de plusieurs descripteurs engendre une surcharge de ressources supplémentaire sans procurer d'avantage de performance.

Un descripteur est créé en créant d'abord une instance borneo.NoSQLHandleConfig pour configurer le point d'extrémité de communication, les informations d'autorisation, ainsi que les valeurs par défaut pour la configuration du descripteur. borneo.NoSQLHandleConfig représente une connexion au service. Une fois créé, il doit être fermé à l'aide de la méthode borneo.NoSQLHandle.close() pour nettoyer les ressources. Les poignées sont protégées contre les fils et sont destinées à être partagées.

Exemple d'acquisition d'un descripteur NoSQL pour Oracle NoSQL Cloud Service :
from borneo import NoSQLHandle, NoSQLHandleConfig, Regions
from borneo.iam import SignatureProvider
# create AuthorizationProvider
provider = SignatureProvider()
# create handle config using the correct desired region
# as endpoint, add a default compartment.
config = NoSQLHandleConfig(Regions.US_ASHBURN_1).
set_authorization_provider(provider).
set_default_compartment('mycompartment')
# create the handle
handle = NoSQLHandle(config)

Note :

Pour réduire l'utilisation des ressources et les frais généraux liés à la création de descripteurs, il est préférable d'éviter la création et la fermeture excessives des instances borneo.NoSQLHandle.
La première étape de toute application Oracle NoSQL Database Cloud Service go consiste à créer un descripteur nosqldb.Client utilisé pour envoyer des demandes au service. Les instances du descripteur Client sont sécurisées pour une utilisation simultanée par plusieurs goroutines et destinées à être partagées dans une application multi-goroutines. Le descripteur est configuré à l'aide de vos données d'identification et d'autres informations d'authentification
provider, err := iam.NewSignatureProviderFromFile(cfgfile, profile, passphrase, compartment)
cfg := nosqldb.Config
{ 
   Region: "us-phoenix-1", AuthorizationProvider: provider,
}
client, err := nosqldb.NewClient(cfg)
// use client for all NoSQL DB operations

La classe NoSQLClient représente le point d'accès principal au service. Pour créer une instance de NoSQLClient, vous devez fournir les informations de configuration appropriées. Ces informations sont représentées par un objet Config et peuvent être fournies au constructeur de la classe NoSQLClient. Vous pouvez également choisir de stocker ces informations dans un fichier de configuration JSON et dans le constructeur de NoSQLClient avec le chemin (absolu ou relatif au répertoire courant de l'application) vers ce fichier. Pour plus de détails sur la méthode, voir la classe NoSQLClient.

Le premier exemple ci-dessous crée une instance de NoSQLClient pour Cloud Service à l'aide de l'objet Config. Il ajoute également un compartiment par défaut et remplace les valeurs de temporisation par défaut dans l'objet de configuration.
import { NoSQLClient, Region } from 'oracle-nosqldb';

let client = new NoSQLClient({
    region: Region.US_ASHBURN_1,
    timeout: 20000,
    ddlTimeout: 40000,
    compartment: 'mycompartment',
    auth: {
        iam: {
            configFile: '~/myapp/.oci/config',
            profileName: 'Jane'
        }
    }
});

Le deuxième exemple stocke la même configuration dans un fichier JSON config.json et l'utilise pour créer une instance NoSQLClient.

Exemple de fichier config.json :
{ 
"region": "US_ASHBURN_1",
 "timeout": 20000,
 "ddlTimeout": 40000,
 "compartment": "mycompartment", 
 "auth": { 
    "iam": { 
       "configFile": "~/myapp/.oci/config",
       "profileName": "Jane"
    } 
  }
}
Code d'application :
import { NoSQLClient } from 'oracle-nosqldb';
let client = new NoSQLClient('config.json');

La classe NoSQLClient représente le point d'accès principal au service. Pour créer une instance de NoSQLClient, vous devez fournir les informations de configuration appropriées. Ces informations sont représentées par la classe NoSQLConfig que l'instance peut fournir au constructeur de NoSQLClient. Vous pouvez également choisir de stocker les informations de configuration dans un fichier de configuration JSON et utiliser le constructeur de NoSQLClient qui prend le chemin (absolu ou relatif au répertoire courant) vers ce fichier.

Le premier exemple ci-dessous crée une instance de NoSQLClient pour Cloud Service à l'aide de NoSQLConfig. Il ajoute également un compartiment par défaut et remplace certaines valeurs de temporisation par défaut dans NoSQLConfig.
var client = new NoSQLClient(
    new NoSQLConfig
    {
        Region = Region.US_ASHBURN_1,
        Timeout = TimeSpan.FromSeconds(10),
        TableDDLTimeout = TimeSpan.FromSeconds(20),
        Compartment = "mycompartment",
        AuthorizationProvider = new IAMAuthorizationProvider(
            "~/myapp/.oci/config", "Jane")
    });

Le deuxième exemple stocke la même configuration dans un fichier JSON config.json et l'utilise pour créer une instance NoSQLClient.

config.json
{
    "Region": "us-ashburn-1",
    "Timeout": 20000,
    "TableDDLTimeout": 40000,
    "compartment": "mycompartment",
    "AuthorizationProvider":
    {
        "AuthorizationType": "IAM",
        "ConfigFile": "~/myapp/.oci/config",
        "ProfileName": "Jane"
    }
}
Code d'application :
var client = new NoSQLClient("config.json");