À propos des compartiments
Voyez comment spécifier le compartiment lors de la création et de l'utilisation des tables Oracle NoSQL Database Cloud Service à l'aide des pilotes Oracle NoSQL Database.
Si vous avez été authentifié à l'aide d'un principal d'instance (en utilisant le service à partir d'une instance de calcul OCI), vous devez spécifier un compartiment en utilisant son ID (OCID) car dans cette situation, il n'y a pas de compartiment par défaut. Voir Appel d'un service à partir d'une instance dans la documentation d'Oracle Cloud Infrastructure.
- Utilisez un compartiment par défaut dans
NoSQLHandleConfig
pour qu'il s'applique à toutes les opérations qui utilisent le descripteur. Voir Obtention d'un descripteur NoSQL pour plus d'informations. - Utilisez le nom ou l'ID (OCID) du compartiment dans chaque demande, en plus du nom de la table. Cette opération remplace tout compartiment par défaut.
Par exemple :
GetRequest getReq = new GetRequest().setTableName("mytable") .setCompartment("mycompartment");
- Utilisez le nom du compartiment comme préfixe pour le nom de la table. Cette opération remplace tous les compartiments par défaut et ceux spécifiés à l'aide de l'API.
Par exemple :
GetRequest getReq = new GetRequest().setTableName("mycompartment:mytable");
Note :
Lorsque vous spécifiez le chemin d'un compartiment imbriqué, n'y incluez pas le nom du compartiment de niveau supérieur, car il est déduit de la location.- Une méthode existe pour autoriser la spécification d'un compartiment par défaut pour les demandes dans
borneo.NoSQLHandleConfig.set_compartment()
. Cette opération remplace le compartiment par défaut de l'utilisateur. - En outre, il est possible de spécifier un compartiment dans chaque instance
Request
.
set_compartment
prennent un ID (OCID) ou un nom de compartiment ou un chemin. Si un nom de compartiment est utilisé, il peut s'agir du nom d'un compartiment de niveau supérieur.
Note :
Si un chemin de compartiment est utilisé pour référencer un compartiment imbriqué, il s'agit d'un chemin séparé par des points qui exclut le compartiment de niveau supérieur du chemin, par exemplecompartmentA.compartmentB
.
...
request = PutRequest().set_table_name('mycompartment:mytable')
...
create_statement = 'create table mycompartment:mytable(...)'
...
request = GetRequest().set_table_name('compartmentA.compartmentB')
- Vous pouvez définir le nom ou l'ID du compartiment souhaité.
- Réglez à une chaîne vide pour utiliser le compartiment par défaut, c'est-à-dire le compartiment racine de la location.
- Si vous utilisez un compartiment imbriqué, spécifiez compartmentID comme chemin d'accès complet au compartiment racine. Par exemple, si vous utilisez rootCompartment.compartmentA.compartmentB, compartmentID doit être réglé à
compartmentA.compartmentB
. - Vous pouvez également utiliser l'OCID du compartiment comme valeur de chaîne.
compartmentID:="<optional-compartment-name-or-ID>"
iam.NewRawSignatureProvider(tenancy, user, region, fingerprint, compartmentID,
privateKey, &privateKeyPassphrase)
NoSQLClient
en définissant la propriété de compartiment de la configuration transmise au constructeur NoSQLClient
:import { NoSQLClient,Region } from 'oracle-nosqldb';
const client = new NoSQLClient({
region: Region.US_ASHBURN_1,
compartment: 'mycompartment'
});
La valeur de la chaîne peut être un ID compartiment ou un nom ou un chemin de compartiment. S'il s'agit d'un nom simple, il doit spécifier un compartiment de niveau supérieur. S'il s'agit d'un chemin vers un compartiment imbriqué, le compartiment de niveau supérieur doit être exclu car il est déduit de la location. Un compartiment peut également être spécifié dans chaque demande de l'objet Options. Cette valeur remplace la valeur de configuration initiale.
Si vous ne spécifiez pas de compartiment, le compartiment racine de la location sera utilisé par défaut. Cela ne s'applique que si vous autorisez avec l'identité d'un utilisateur spécifique. Si vous utilisez le principal d'instance ou de ressource pour l'authentification, vous devez spécifier l'ID compartiment car il n'y a pas de valeur par défaut dans ces cas.
Si le compartiment n'est pas fourni, l'OCID de la location sera utilisé par défaut. Notez que cela ne s'applique que si vous autorisez avec l'identité de l'utilisateur. Lors de l'utilisation du principal d'instance ou de ressource, l'ID compartiment doit être spécifié.
Pour la procédure de configuration du principal d'instance, voir Appel de services à partir d'une instance. Pour la procédure de configuration du principal de ressource, voir Accès à d'autres ressources Oracle Cloud Infrastructure à partir des fonctions en cours d'exécution.
NoSQLConfig
. Par exemple :var client = new NoSQLClient(
new NoSQLConfig
{
Region=Region.US_ASHBURN_1,
Compartment="<compartment_ocid_or_name>"
});
La valeur de la chaîne peut être un OCID de compartiment ou un nom ou chemin de compartiment. S'il s'agit d'un nom simple, il doit spécifier un compartiment de niveau supérieur. S'il s'agit d'un chemin vers un compartiment imbriqué, le compartiment de niveau supérieur doit être exclu car il est déduit de la location.En outre, toutes les classes d'options d'opération ont la propriété Compartment
, par exemple TableDDLOptions.Compartment
, GetOptions.Compartment
, PutOptions.Compartment
, etc. Ainsi, vous pouvez également spécifier une comparaison séparément pour toute opération. Cette valeur, si elle est définie, remplacera la valeur du compartiment dans NoSQLConfig
, le cas échéant.
Si le compartiment n'est pas fourni, l'OCID de la location sera utilisé par défaut. Notez que cela ne s'applique que si vous autorisez avec l'identité de l'utilisateur. Lors de l'utilisation du principal d'instance ou de ressource, l'ID compartiment doit être spécifié.
Rubriques connexes