NoSQL-Handle abrufen
Erfahren Sie, wie Sie mit Oracle NoSQL Database-Treibern auf Tabellen zugreifen. Erstellen Sie ein NoSQL-Handle, um Ihre Anwendung zu entwickeln. Mit dem NoSQLHandle können Sie auf die Tabellen zugreifen und alle Vorgänge ausführen.
Um eine Verbindung zu erstellen, die von einem NoSQLHandle repräsentiert wird, rufen Sie mit der Methode NoSQLHandleFactory.createNoSQLHandle
und der Klasse NoSQLHandleConfig
ein Handle ab. Mit der Klasse NoSQLHandleConfig
kann eine Anwendung die Handle-Konfiguration angeben. Weitere Informationen finden Sie in der Java-API-Referenzdokumentation.
/* 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
Mit einem Handle sind Speicher- und Netzwerkressourcen verknüpft. Verwenden Sie die Methode NoSQLHandle.close
, um die Ressourcen freizugeben, wenn Sie die Anwendung nicht mehr benötigen.
Um die Netzwerkaktivität zu minimieren und den Overhead von Ressourcenzuweisung und -freigabe zu minimieren, sollten Sie das wiederholte Erstellen und Schließen von Handles vermeiden. Beispiel: Das Erstellen und Schließen eines Handles für jeden Vorgang führt zu einer schlechten Anwendungsperformance. Ein Handle lässt parallele Vorgänge zu, sodass ein einziges Handle für den Zugriff auf Tabellen in einer Multi-Threaded-Anwendung ausreicht. Das Erstellen mehrerer Handles bewirkt zusätzlichen Ressourcen-Overhead, und es werden damit keinerlei Performancevorteile erzielt.
Ein Handle wird erstellt, indem zuerst eine borneo.NoSQLHandleConfig
-Instanz erstellt wird, um den Kommunikationsendpunkt, die Autorisierungsinformationen sowie Standardwerte für die Handle-Konfiguration zu konfigurieren. borneo.NoSQLHandleConfig
stellt eine Verbindung zum Service dar. Nach der Erstellung muss er mit der Methode borneo.NoSQLHandle.close()
geschlossen werden, um Ressourcen zu bereinigen. Griffe sind Thread-sicher und zur gemeinsamen Nutzung vorgesehen.
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)
Hinweis:
Um die Ressourcennutzung und den Overhead bei der Handle-Erstellung zu reduzieren, sollten Sie eine übermäßige Erstellung und das Schließen vonborneo.NoSQLHandle
-Instanzen vermeiden.
go
besteht darin, ein nosqldb.Client
-Handle zu erstellen, mit dem Anforderungen an den Service gesendet werden. Instanzen des Client-Handles sind für die gleichzeitige Verwendung durch mehrere Goroutines sicher und sollen in einer Multi-Goroutines-Anwendung gemeinsam verwendet werden. Das Handle wird mit Ihren Zugangsdaten und anderen Authentifizierungsinformationen konfiguriert.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
Die Klasse NoSQLClient
stellt den Hauptzugriffspunkt auf den Service dar. Um eine Instanz von NoSQLClient
zu erstellen, müssen Sie die entsprechenden Konfigurationsinformationen angeben. Diese Informationen werden durch ein Config
-Objekt dargestellt und können dem Konstruktor der Klasse NoSQLClient
bereitgestellt werden. Alternativ können Sie diese Informationen in einer JSON-Konfigurationsdatei und dem Konstruktor von NoSQLClient
mit dem Pfad (absolut oder relativ zum aktuellen Verzeichnis der Anwendung) zu dieser Datei speichern. Details zur Methode finden Sie in der Klasse NoSQLClient.
NoSQLClient
für Cloud Service mit dem Objekt Config
erstellt. Außerdem wird ein Standard-Compartment hinzugefügt und die Standardtimeoutwerte im Konfigurationsobjekt überschrieben.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'
}
}
});
Im zweiten Beispiel wird dieselbe Konfiguration in einer JSON-Datei config.JSON
gespeichert und zum Erstellen einer NoSQLClient
-Instanz verwendet.
{
"region": "US_ASHBURN_1",
"timeout": 20000,
"ddlTimeout": 40000,
"compartment": "mycompartment",
"auth": {
"iam": {
"configFile": "~/myapp/.oci/config",
"profileName": "Jane"
}
}
}
import { NoSQLClient } from 'oracle-nosqldb';
let client = new NoSQLClient('config.json');
Klasse NoSQLClient
stellt den Hauptzugriffspunkt zum Service dar. Um eine Instanz von NoSQLClient
zu erstellen, müssen Sie entsprechende Konfigurationsinformationen angeben. Diese Informationen werden durch die Klasse NoSQLConfig
dargestellt, die Instanz für den Konstruktor von NoSQLClient
bereitgestellt werden kann. Alternativ können Sie die Konfigurationsinformationen in einer JSON-Konfigurationsdatei speichern und den Konstruktor von NoSQLClient
verwenden, der den Pfad (absolut oder relativ zum aktuellen Verzeichnis) zu dieser Datei übernimmt.
NoSQLClient
für Cloud Service mit NoSQLConfig
erstellt. Außerdem wird ein Standard-Compartment hinzugefügt und einige Standardtimeoutwerte in NoSQLConfig
überschrieben.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")
});
Im zweiten Beispiel wird dieselbe Konfiguration in einer JSON-Datei config.JSON
gespeichert und zum Erstellen einer NoSQLClient
-Instanz verwendet.
config.json
{
"Region": "us-ashburn-1",
"Timeout": 20000,
"TableDDLTimeout": 40000,
"compartment": "mycompartment",
"AuthorizationProvider":
{
"AuthorizationType": "IAM",
"ConfigFile": "~/myapp/.oci/config",
"ProfileName": "Jane"
}
}
var client = new NoSQLClient("config.json");
Verwandte Themen