Info zu Compartments
Erfahren Sie, wie Sie das Compartment beim Erstellen von und Arbeiten mit Oracle NoSQL Database Cloud Service-Tabellen mit Oracle NoSQL Database-Treibern angeben.
Wenn Sie mit einem Instance Principal (indem Sie über eine OCI Compute-Instanz auf den Service zugreifen) authentifiziert wurden, müssen Sie ein Compartment mit der zugehörigen ID (OCID) angeben, da in diesem Fall kein Standardwert vorhanden ist. Siehe Service von einer Instanz aufrufen in der Oracle Cloud Infrastructure-Dokumentation.
- Verwenden Sie ein Standard Compartment in
NoSQLHandleConfig
, damit es für alle Vorgänge mit dem Handle angewendet wird. Ein Beispiel finden Sie unter NoSQL-Handle abrufen. - Verwenden Sie in jeder Anforderung den Namen des Compartments oder der ID (OCID) zusätzlich zum Namen der Tabelle. Dadurch wird ein Standard Compartment außer Kraft gesetzt.
Beispiel:
GetRequest getReq = new GetRequest().setTableName("mytable") .setCompartment("mycompartment");
- Verwenden Sie den Compartment-Namen als Präfix für den Namen der Tabelle. Dies setzt alle Standard-Compartments sowie ein Compartment außer Kraft, das mit der API angegeben wurde.
Beispiel:
GetRequest getReq = new GetRequest().setTableName("mycompartment:mytable");
Hinweis:
Wenn Sie den Pfad zu einem Nested Compartment angeben, verwenden Sie nicht den Namen des Top-Level-Compartments im Pfad, da dieser aus dem Mandanten abgeleitet wird.- Es ist eine Methode vorhanden, mit der ein Standard-Compartment für Anforderungen in
borneo.NoSQLHandleConfig.set_compartment()
angegeben werden kann. Dadurch wird das Standard-Compartment des Benutzers überschrieben. - Außerdem kann in jeder
Request
-Instanz ein Compartment angegeben werden.
set_compartment
-Methoden nehmen entweder eine ID (OCID) oder einen Compartment-Namen oder einen Pfad an. Wenn ein Compartment-Name verwendet wird, kann dies der Name eines Compartments der obersten Ebene sein.
Hinweis:
Wenn ein Compartment-Pfad zur Referenzierung eines verschachtelten Compartments verwendet wird, ist der Pfad ein durch Punkte getrennter Pfad, der das Compartment der obersten Ebene des Pfads ausschließt. Beispiel:compartmentA.compartmentB
.
...
request = PutRequest().set_table_name('mycompartment:mytable')
...
create_statement = 'create table mycompartment:mytable(...)'
...
request = GetRequest().set_table_name('compartmentA.compartmentB')
- Sie können einen gewünschten Compartment-Namen oder eine gewünschte ID festlegen.
- Legen Sie eine leere Zeichenfolge fest, um das Standard-Compartment, das Root Compartment des Mandanten, zu verwenden.
- Wenn Sie ein verschachteltes Compartment verwenden, geben Sie den vollständigen Compartment-Pfad relativ zum Root Compartment als compartmentID an. Beispiel: Wenn Sie rootCompartment.compartmentA.compartmentB verwenden, muss compartmentID auf
compartmentA.compartmentB
gesetzt werden. - Sie können die Compartment-OCID auch als Zeichenfolgenwert verwenden.
compartmentID:="<optional-compartment-name-or-ID>"
iam.NewRawSignatureProvider(tenancy, user, region, fingerprint, compartmentID,
privateKey, &privateKeyPassphrase)
NoSQLClient
-Instanz ausgeführt werden, indem Sie die Compartment-Eigenschaft der Konfiguration festlegen, die an den NoSQLClient
-Konstruktor übergeben wird:import { NoSQLClient,Region } from 'oracle-nosqldb';
const client = new NoSQLClient({
region: Region.US_ASHBURN_1,
compartment: 'mycompartment'
});
Der Zeichenfolgenwert kann entweder eine Compartment-ID oder ein Compartment-Name oder ein Pfad sein. Wenn es sich um einen einfachen Namen handelt, muss ein Compartment der obersten Ebene angegeben werden. Wenn es sich um einen Pfad zu einem verschachtelten Compartment handelt, muss das Compartment der obersten Ebene ausgeschlossen werden, da es aus dem Mandanten inferenziert wird. Außerdem kann in jeder Anforderung im Optionsobjekt ein Compartment angegeben werden. Durch diesen Wert wird der anfängliche Konfigurationswert überschrieben.
Wenn Sie kein Compartment angeben, wird das Root Compartment des Mandanten als Standard verwendet. Dies gilt nur, wenn Sie mit der Identität eines bestimmten Benutzers autorisieren. Wenn Sie den Instanz-Principal oder Resource Principal zur Authentifizierung verwenden, müssen Sie die Compartment-ID angeben, da in diesen Fällen kein Standardwert vorhanden ist.
Wenn kein Compartment angegeben ist, wird die Mandanten-OCID als Standard verwendet. Beachten Sie, dass dies nur gilt, wenn Sie mit der Identität des Benutzers autorisieren. Wenn Sie den Instanz-Principal oder Resource Principal verwenden, muss die Compartment-ID angegeben werden.
Informationen zum Einrichten des Instanz-Principals finden Sie unter Services von einer Instanz aufrufen. Informationen zum Einrichten des Resource Principals finden Sie unter Auf andere Oracle Cloud Infrastructure-Ressourcen aus aktiven Funktionen zugreifen.
NoSQLConfig
festlegen. Beispiel:var client = new NoSQLClient(
new NoSQLConfig
{
Region=Region.US_ASHBURN_1,
Compartment="<compartment_ocid_or_name>"
});
Der Zeichenfolgenwert kann entweder eine Compartment-OCID oder ein Compartment-Name oder ein Pfad sein. Wenn es sich um einen einfachen Namen handelt, muss ein Compartment der obersten Ebene angegeben werden. Wenn es sich um einen Pfad zu einem verschachtelten Compartment handelt, muss das Compartment der obersten Ebene ausgeschlossen werden, da es aus dem Mandanten inferenziert wird.Darüber hinaus haben alle Operationsoptionsklassen die Eigenschaft Compartment
, wie TableDDLOptions.Compartment
, GetOptions.Compartment
, PutOptions.Compartment
usw. Somit können Sie auch für jede Operation den Vergleich separat angeben. Wenn dieser Wert festgelegt ist, wird der Compartment-Wert in NoSQLConfig
außer Kraft gesetzt, sofern vorhanden.
Wenn kein Compartment angegeben ist, wird die Mandanten-OCID als Standard verwendet. Beachten Sie, dass dies nur gilt, wenn Sie mit der Identität des Benutzers autorisieren. Wenn Sie den Instanz-Principal oder Resource Principal verwenden, muss die Compartment-ID angegeben werden.
Verwandte Themen