Obtendo um Handle NoSQL
Saiba como acessar tabelas usando o Oracle NoSQL Database Drivers. Comece a desenvolver o seu aplicativo criando um NoSQL Handle. Use NoSQLHandle para acessar as tabelas e executar todas as operações.
Para criar uma conexão representada por NoSQLHandle, obtenha um identificador usando o método NoSQLHandleFactory.createNoSQLHandle
e a classe NoSQLHandleConfig
. A classe NoSQLHandleConfig
permite que um aplicativo especifique a configuração do handle. Consulte o Guia de Referência da API Java para saber mais.
/* 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
Um identificador tem memória e recursos de rede associados a ele. Use o método NoSQLHandle.close
para liberar os recursos quando o seu aplicativo for fechado com o handle.
Para minimizar a atividade da rede, a alocação de recursos e os overheads de desalocação, é melhor evitar criar e fechar handles repetidamente. Por exemplo, a criação e o fechamento de um handle em cada operação resultaria no mau desempenho do aplicativo. Como um identificador permite operações concorrentes, um único identificador é suficiente para acessar tabelas em um aplicativo multi-threaded. A criação de vários identificadores incorre em overheads extras de recursos sem fornecer nenhum benefício de desempenho.
Um handle é criado primeiro criando uma instância borneo.NoSQLHandleConfig
para configurar o ponto final de comunicação, as informações de autorização e os valores padrão para a configuração de handle. borneo.NoSQLHandleConfig
representa uma conexão com o serviço. Uma vez criado, ele deve ser fechado usando o método borneo.NoSQLHandle.close()
para limpar recursos. As alças são seguras para threads e devem ser compartilhadas.
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)
Observação:
Para reduzir o uso de recursos e a sobrecarga da criação do handle, é melhor evitar a criação e o fechamento excessivos de instânciasborneo.NoSQLHandle
.
go
do Oracle NoSQL Database Cloud Service é criar um identificador nosqldb.Client
usado para enviar solicitações ao serviço. As instâncias do handle do Cliente são seguras para uso simultâneo por vários goroutines e destinam-se a ser compartilhadas em um aplicativo multi-goroutines. O identificador é configurado usando suas credenciais e outras informações de autenticação.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
A classe NoSQLClient
representa o principal ponto de acesso ao serviço. Para criar a instância de NoSQLClient
, forneça as informações de configuração apropriadas. Essas informações são representadas por um objeto Config
e podem ser fornecidas ao construtor da classe NoSQLClient
. Como alternativa, você pode optar por armazenar essas informações em um arquivo de configuração JSON e no construtor de NoSQLClient
com o caminho (absoluto ou relativo ao diretório atual do aplicativo) para esse arquivo. Para obter detalhes do método, consulte a classe NoSQLClient.
NoSQLClient
para o Cloud Service usando o objeto Config
. Ele também adiciona um compartimento padrão e substitui valores de timeout padrão no objeto de configuração.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'
}
}
});
O segundo exemplo armazena a mesma configuração em um arquivo JSON config.json
e a usa para criar a instância NoSQLClient
.
{
"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');
A classe NoSQLClient
representa o principal ponto de acesso ao serviço. Para criar uma instância de NoSQLClient
, forneça as informações de configuração apropriadas. Essas informações são representadas pela classe NoSQLConfig
, cuja instância pode ser fornecida ao construtor de NoSQLClient
. Como alternativa, você pode optar por armazenar as informações de configuração em um arquivo de configuração JSON e usar o construtor de NoSQLClient
que leva o caminho (absoluto ou relativo ao diretório atual) para esse arquivo.
NoSQLClient
para o Cloud Service usando NoSQLConfig
. Ele também adiciona um compartimento padrão e substitui alguns valores de timeout padrão em 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")
});
O segundo exemplo armazena a mesma configuração em um arquivo JSON config.json
e a usa para criar a instância NoSQLClient
.
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");
Tópicos Relacionados