Detalhes da Conexão do IBM Cloudant
Introdução
Versão do conector
Esta documentação é baseada na versão 21.0.8383 do conector.
Começando
Suporte à versão do Cloudant
O conector utiliza a API do Cloudant para permitir o acesso bidirecional aos dados do Cloudant por meio do SQL padrão. Consulte Mapeamento de consulta para mapeamentos de consulta SQL para Cloudant e mais informações sobre como acessar dados não estruturados no Cloudant por meio de SQL.
Estabelecendo uma Conexão
Autenticação para Cloudant
Há dois métodos de autenticação disponíveis para conexão com o Cloudant: IBM Cloudant Legacy e IBM Cloud IAM.
Autenticando com o IBM Cloudant Legacy
Colocou o User
e Password
às suas credenciais de serviço.
Para criar uma credencial de serviço IBM Cloudant:
- No painel do IBM Cloud, acesse o ícone Menu > Lista de Recursos e abra sua instância de serviço do IBM Cloudant.
- No menu, clique em Credenciais de serviço.
- Clique no botão Nova credencial e digite um nome para a nova credencial na janela Adicionar nova credencial.
- Clique no botão Adicionar. Suas credenciais são adicionadas à tabela Credenciais de serviço.
- Clique em Exibir credenciais em Ações e extraia o
User
ePassword
do arquivo json.
Autenticação para Instância Local
Oferecemos suporte a instâncias locais da versão 1.1.0 e superior.
Para autenticar em sua instância local, você precisa definir:
URL
para a URL da sua instância local. Por exemplo:http://localhost:8006
User
ao seu nome de usuário.Password
à sua senha.
Acesso a Dados de Ajuste Fino
Acesso a Dados de Ajuste Fino
Você pode usar as seguintes propriedades para obter controle sobre o comportamento da coluna em Automatic Schema Discovery.
RowScanDepth
: Esta propriedade determina o número de linhas que serão verificadas para detectar os tipos de dados da coluna ao gerar os metadados da tabela.TypeDetectionScheme
: Esta propriedade permite maior controle sobre a estratégia implementada peloRowScanDepth
propriedade.
Banco de Dados NoSQL
Cloudant é um banco de dados de documentos sem esquema que fornece alto desempenho, disponibilidade e escalabilidade. Esses recursos não são necessariamente incompatíveis com uma linguagem de consultar compatível com padrões como o SQL-92. As seções a seguir mostram vários esquemas que o conector oferece para preencher a lacuna com o SQL relacional e um banco de dados de documentos.
O conector modela os objetos Cloudant sem esquema em tabelas relacionais e converte consultas SQL em consultas Cloudant para obter os dados solicitados. Consulte Mapeamento de consulta para obter mais detalhes sobre como várias operações do Cloudant são representadas como SQL.
A Descoberta Automática de Esquema localiza automaticamente os tipos de dados em um objeto Cloudant varrendo um número configurado de linhas do objeto. Você pode usar RowScanDepth
, FlattenArrays
, e FlattenObjects
para controlar a representação relacional das coleções no Cloudant.
O esquema da tabela é necessário para relatar os metadados, mas você pode escrever Consultas de formato livre não vinculado ao esquema para selecionar, inserir, atualizar ou excluir dados de colunas que não existem no esquema.
O conector suporta a listagem de visualizações do Cloudant e a recuperação de dados delas. Isso é controlado pela propriedade ListViews, que é definida como false por padrão. Configure esta propriedade como true para visualizações do Cloudant a serem exibidas ao listar tabelas.
Descoberta Automática de Esquema
O conector infere automaticamente um esquema relacional inspecionando uma série de documentos Cloudant em uma coleção. Você pode usar o RowScanDepth
propriedade para definir a quantidade de documentos que o conector digitalizará para isso. As colunas identificadas durante o processo de descoberta dependem do FlattenArrays
e FlattenObjects
propriedades.
Objetos Achatados
Se FlattenObjects
for definido, todos os objetos aninhados serão nivelados em uma série de colunas. Por exemplo, considere o seguinte documento:
{
id: 12,
name: "Lohia Manufacturers Inc.",
address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
offices: ["Chapel Hill", "London", "New York"],
annual_revenue: 35,600,000
}
Este documento será representado pelas seguintes colunas:
Nome da coluna | Tipo de dados | Valor de exemplo |
---|---|---|
id | inteiro | 12 |
nome | Corda | Lohia Manufacturers Inc. |
endereço.rua | Corda | Rua Principal |
endereço.cidade | Corda | Morro da Capela |
endereço.estado | Corda | NC |
escritórios | Corda | ["Chapel Hill", "Londres", "Nova York"] |
receita_anual | Duplo | 35.600.000 |
Se FlattenObjects
não for definido, as colunas address.street, address.city e address.state não serão separadas. A coluna de endereço do tipo string representará o objeto inteiro. Seu valor seria {street: "Main Street", city: "Chapel Hill", state: "NC"}
. Consulte Funções JSON para obter mais detalhes sobre como trabalhar com agregados JSON. Você pode alterar o caractere separador no nome da coluna de um ponto definindo SeparatorCharacter
.
Achatamento de Matrizes
O FlattenArrays
a propriedade pode ser usada para nivelar os valores da matriz em colunas próprias. Isso é recomendado apenas para arrays que devem ser curtos, por exemplo, as coordenadas abaixo:
"coord": [-73.856077, 40.848447 ]
O FlattenArrays
a propriedade pode ser definida como 2 para representar o array acima da seguinte forma:
Nome da coluna | Tipo de Dados | Valor de exemplo |
---|---|---|
coord.0 | flutuar | -73.856077 |
coord.1 | flutuar | 40.848447 |
É melhor deixar outras matrizes ilimitadas como estão e separar os dados para elas conforme necessário usando Funções JSON.
Consultas de Formulário Livre
Conforme discutido em Descoberta automática de esquema, esquemas de tabela intuitivos permitem acesso SQL a dados não estruturados do Cloudant. Funções JSON permitem usar funções JSON padrão para resumir dados do Cloudant e extrair valores de quaisquer estruturas aninhadas. No entanto, você não está limitado a esses esquemas.
Depois de conectar, você pode consultar qualquer estrutura aninhada sem achatar os dados. Quaisquer relações que você pode acessar com FlattenArrays
e FlattenObjects
também pode ser acessado com uma consultar SQL ad hoc.
Vamos considerar um documento de exemplo do seguinte conjunto de dados do restaurante:
{
"address": {
"building": "1007",
"coord": [
-73.856077,
40.848447
],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{
"grade": "A",
"score": 2,
"date": {
"$date": "1393804800000"
}
},
{
"date": {
"$date": "1378857600000"
},
"grade": "B",
"score": 6
},
{
"score": 10,
"date": {
"$date": "1358985600000"
},
"grade": "C"
}
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}
Você pode acessar qualquer estrutura aninhada neste documento como uma coluna. Use a notação de ponto para detalhar os valores que deseja acessar, conforme mostrado na consultar abaixo. Observe que os arrays têm um índice baseado em zero. Por exemplo, a consultar a seguir recupera a segunda nota do restaurante do exemplo:
SELECT [address.building], [notas.1.grau] FROM restaurants WHERE restaurant_id = '30075445'
A consultar anterior retorna os seguintes resultados:
Nome da coluna | Tipo de dados | Valor de exemplo |
---|---|---|
endereço.edifício | Corda | 1007 |
graus.1.grau | Corda | A |
Achatamento Vertical
É possível recuperar um array de documentos como se fosse uma tabela separada. Pegue a seguinte estrutura JSON da coleção de restaurantes, por exemplo:
{
"_id" : ObjectId("568c37b748ddf53c5ed98932"),
"address" : {
"building" : "1007",
"coord" : [-73.856077, 40.848447],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [{
"date" : ISODate("2014-03-03T00:00:00Z"),
"grade" : "A",
"score" : 2
}, {
"date" : ISODate("2013-09-11T00:00:00Z"),
"grade" : "A",
"score" : 6
}, {
"date" : ISODate("2013-01-24T00:00:00Z"),
"grade" : "A",
"score" : 10
}, {
"date" : ISODate("2011-11-23T00:00:00Z"),
"grade" : "A",
"score" : 9
}, {
"date" : ISODate("2011-03-10T00:00:00Z"),
"grade" : "B",
"score" : 14
}],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
O nivelamento vertical permitirá que você recupere a matriz de notas como uma tabela separada:
SELECT * FROM [restaurants.grades]
Esta consultar retorna o seguinte conjunto de dados:
data | nota | pontuação | P_id | _index |
---|---|---|---|---|
2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
Você também pode querer incluir informações da tabela de restaurantes base. Você pode fazer isso com uma junção. As matrizes niveladas só podem ser unidas ao documento raiz. O conector espera que a parte esquerda da junção seja o documento de matriz que você deseja achatar verticalmente. Desativar SupportEnhancedSQL
para unir documentos aninhados do Cloudant -- este tipo de consultar é suportado por meio da API do Cloudant.
SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM [restaurantes.notas] JOIN [restaurantes] WHERE [restaurants].name = 'Morris Park Bake Shop'
Esta consultar retorna o seguinte conjunto de dados:
restaurante_id | data | nota | pontuação | P_id | _index |
---|---|---|---|---|---|
30075445 | 2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
30075445 | 2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
30075445 | 2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
30075445 | 2011-11-23T00:00:00.000Z | A | 9 | 568c37b748ddf53c5ed98932 | 4 |
30075445 | 2011-03-10T00:00:00.000Z | B | 14 | 568c37b748ddf53c5ed98932 | 5 |
Funções JSON
O conector pode retornar estruturas JSON como valores de coluna. O conector permite usar funções SQL padrão para trabalhar com essas estruturas JSON. Os exemplos nesta seção usam a seguinte matriz:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
JSON_EXTRACT
A função JSON_EXTRACT pode extrair valores individuais de um objeto JSON. A consultar a seguir retorna os valores mostrados abaixo com base no caminho JSON passado como o segundo argumento para a função:
SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Nome da coluna | Valor de exemplo |
---|---|
Grade | A |
Score | 2 |
JSON_COUNT
A função JSON_COUNT retorna o número de elementos em uma matriz JSON dentro de um objeto JSON. A consultar a seguir retorna o número de elementos especificados pelo caminho JSON passado como segundo argumento para a função:
SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Nome da coluna | Valor de exemplo |
---|---|
NumberOfGrades | 5 |
JSON_SUM
A função JSON_SUM retorna a soma dos valores numéricos de uma matriz JSON em um objeto JSON. A consultar a seguir retorna o total dos valores especificados pelo caminho JSON passado como o segundo argumento da função:
SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Nome da coluna | Valor de exemplo |
---|---|
TotalScore | 41 |
JSON_MIN
A função JSON_MIN retorna o menor valor numérico de uma matriz JSON dentro de um objeto JSON. A consultar a seguir retorna o valor mínimo especificado pelo caminho JSON passado como o segundo argumento para a função:
SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Nome da coluna | Valor de exemplo |
---|---|
LowestScore | 2 |
JSON_MAX
A função JSON_MAX retorna o valor numérico mais alto de uma matriz JSON dentro de um objeto JSON. A consultar a seguir retorna o valor máximo especificado pelo caminho JSON passado como o segundo argumento para a função:
SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Nome da coluna | Valor de exemplo |
---|---|
HighestScore | 14 |
DOCUMENTO
A função DOCUMENT pode ser usada para recuperar o documento inteiro como uma string JSON. Veja a consultar a seguir e seu resultado como exemplo:
SELECT DOCUMENT(*) FROM Customers;
A consultar acima retornará o documento inteiro conforme mostrado.
{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices": ["Chapel Hill", "Londres", "Nova York"], "annual_revenue": 35,600,000 }
Mapeamento de Consultas
O conector mapeia as consultas SQL nas consultas Cloudant correspondentes. O conector usa a sintaxe do Seletor para calcular os resultados desejados.
Uma descrição detalhada de todas as transformações está fora do escopo, mas descreveremos alguns dos elementos comuns que são usados.
Consultas SELECT
A instrução SELECT é mapeada para os métodos GET e POST. Abaixo estão exemplos de consultas e os payloads de solicitação correspondentes.
SQL Query | Cloudant Query |
---|---|
| Para esta consultar, uma solicitação GET é enviada para o endpoint /_all_docs. |
|
|
|
|
|
|
|
|
|
|
|
|
Instruções INSERT
A instrução INSERT é mapeada para a solicitação HTTP POST, conforme mostrado na seguinte consultar e payload de solicitação.
Consulta SQL
INSERT INTO users(_id, age, status, [endereço.cidade], [address.postalcode])
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)
Consulta Cloudant
{
"address": {
"city": "Chapel Hill",
"postalcode": 27517
},
"_id": "bcd001",
"age": 45,
"status": "A"
}
ATUALIZAR Declarações
A instrução UPDATE é mapeada para o método HTTP PUT, conforme mostrado na seguinte payload de consultar e solicitação.
Consulta SQL
UPDATE users
SET status = 'C', [endereço.código postal] = 90210
WHERE _id = 'bcd001'
Consulta Cloudant
{
"_id": "bcd001",
"_rev": "1-446f6c67e3a483feae8eaf112f18892c",
"status": "C",
"age": 45,
"address": {
"city": "Chapel Hill",
"postalcode": 90210
}
}
DELETE Declarações
A instrução DELETE é mapeada para o método DELETE conforme mostrado abaixo.
Consulta SQL
DELETE FROM users WHERE _id = 'bcd001'
Consulta Cloudant
Para esta consultar, uma solicitação DELETE é enviada ao users/{_id}?rev={_re}
endpoint.
Tabelas do Sistema
Você pode consultar as tabelas do sistema descritas nesta seção para acessar informações de esquema, informações sobre a funcionalidade da fonte de dados e estatísticas de operação em lote.
Tabelas de Esquema
As tabelas a seguir retornam metadados de banco de dados para Cloudant:
- sys_catalogs: Lista os bancos de dados disponíveis.
- sys_schemas: Lista os esquemas disponíveis.
- sys_tables: Lista as tabelas e exibições disponíveis.
- sys_tablecolumns: Descreve as colunas das tabelas e exibições disponíveis.
- sys_procedures: Descreve os procedimentos armazenados disponíveis.
- sys_procedureparameters: Descreve procedimento armazenado* parâmetros.
- sys_keycolumns: Descreve as chaves primárias e estrangeiras.
- sys_indexes: Descreve os índices disponíveis.
Tabelas de Fonte de Dados
As tabelas a seguir retornam informações sobre como se conectar e consultar a fonte de dados:
- sys_connection_props: Retorna informações sobre as propriedades de conexão disponíveis.
- sys_sqlinfo: Descreve as consultas SELECT que o conector pode descarregar para a fonte de dados.
Consultar Tabelas de Informações
A tabela a seguir retorna estatísticas de consultar para consultas de modificação de dados:
- sys_identity: Retorna informações sobre operações em lote ou atualizações únicas.
Sys_catalogs
Lista os bancos de dados disponíveis.
A consultar a seguir recupera todos os bancos de dados determinados pela string de conexão:
SELECT * FROM sys_catalogs
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados. |
Sys_schemas
Lista os esquemas disponíveis.
A consultar a seguir recupera todos os esquemas disponíveis:
SELECT * FROM sys_schemas
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados. |
SchemaName | String | O nome do esquema. |
Sys_tables
Lista as tabelas disponíveis.
A consultar a seguir recupera as tabelas e exibições disponíveis:
SELECT * FROM sys_tables
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O banco de dados que contém a tabela ou exibição. |
SchemaName | String | O esquema que contém a tabela ou exibição. |
TableName | String | O nome da tabela ou exibição. |
TableType | String | O tipo de tabela (tabela ou exibição). |
Description | String | Uma descrição da tabela ou exibição. |
IsUpdateable | Boolean | Se a tabela pode ser atualizada. |
Sys_tablecolumns
Descreve as colunas das tabelas e exibições disponíveis.
A consultar a seguir retorna as colunas e os tipos de dados da tabela Movies:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Movies'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a tabela ou exibição. |
SchemaName | String | O esquema que contém a tabela ou exibição. |
TableName | String | O nome da tabela ou exibição que contém a coluna. |
ColumnName | String | O nome da coluna. |
DataTypeName | String | O nome do tipo de dados. |
DataType | Int32 | Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente. |
Length | Int32 | O tamanho de armazenamento da coluna. |
DisplaySize | Int32 | A largura máxima normal da coluna designada em caracteres. |
NumericPrecision | Int32 | O número máximo de dígitos em dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora. |
NumericScale | Int32 | A escala da coluna ou o número de dígitos à direita do ponto decimal. |
IsNullable | Boolean | Se a coluna pode conter null. |
Description | String | Uma breve descrição da coluna. |
Ordinal | Int32 | O número de sequência da coluna. |
IsAutoIncrement | String | Se o valor da coluna é atribuído em incrementos fixos. |
IsGeneratedColumn | String | Se a coluna é gerada. |
IsHidden | Boolean | Se a coluna está oculta. |
IsArray | Boolean | Se a coluna é uma matriz. |
Sys_procedures
Lista os procedimentos armazenados disponíveis.
A consultar a seguir recupera os procedimentos armazenados disponíveis:
SELECT * FROM sys_procedures
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O banco de dados que contém o procedimento armazenado. |
SchemaName | String | O esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado. |
Description | String | Uma descrição do procedimento armazenado. |
ProcedureType | String | O tipo do procedimento, como PROCEDURE ou FUNCTION. |
Sys_procedureparameters
Descreve procedimento armazenado* parâmetros.
A consultar a seguir retorna informações sobre todos os parâmetros de entrada para o procedimento armazenado SelectEntries:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém o procedimento armazenado. |
SchemaName | String | O nome do esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado* contendo o parâmetro. |
ColumnName | String | O nome do procedimento armazenado* parâmetro. |
Direction | Int32 | Um número inteiro correspondente ao tipo do parâmetro: entrada (1), entrada/saída (2) ou saída (4). parâmetros de tipo de entrada/saída podem ser parâmetros de entrada e saída. |
DataTypeName | String | O nome do tipo de dados. |
DataType | Int32 | Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente. |
Length | Int32 | O número de caracteres permitido para dados de caractere. O número de dígitos permitidos para dados numéricos. |
NumericPrecision | Int32 | A precisão máxima para dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora. |
NumericScale | Int32 | O número de dígitos à direita do ponto decimal em dados numéricos. |
IsNullable | Boolean | Se o parâmetro pode conter null. |
IsRequired | Boolean | Se o parâmetro é necessário para a execução do procedimento. |
IsArray | Boolean | Se o parâmetro é uma matriz. |
Description | String | A descrição do parâmetro. |
Ordinal | Int32 | O índice do parâmetro. |
Sys_keycolumns
Descreve as chaves primárias e estrangeiras. A consultar a seguir recupera a chave primária da tabela Movies:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Movies'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a chave. |
SchemaName | String | O nome do esquema que contém a chave. |
TableName | String | O nome da tabela que contém a chave. |
ColumnName | String | O nome da coluna chave. |
IsKey | Boolean | Se a coluna é uma chave primária na tabela referenciada no campo TableName. |
IsForeignKey | Boolean | Se a coluna é uma chave estrangeira referenciada no campo TableName. |
PrimaryKeyName | String | O nome da chave primária. |
ForeignKeyName | String | O nome da chave estrangeira. |
ReferencedCatalogName | String | O banco de dados que contém a chave primária. |
ReferencedSchemaName | String | O esquema que contém a chave primária. |
ReferencedTableName | String | A tabela que contém a chave primária. |
ReferencedColumnName | String | O nome da coluna da chave primária. |
Sys_foreignkeys
Descreve as chaves estrangeiras. A consultar a seguir recupera todas as chaves estrangeiras que se referem a outras tabelas:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a chave. |
SchemaName | String | O nome do esquema que contém a chave. |
TableName | String | O nome da tabela que contém a chave. |
ColumnName | String | O nome da coluna chave. |
PrimaryKeyName | String | O nome da chave primária. |
ForeignKeyName | String | O nome da chave estrangeira. |
ReferencedCatalogName | String | O banco de dados que contém a chave primária. |
ReferencedSchemaName | String | O esquema que contém a chave primária. |
ReferencedTableName | String | A tabela que contém a chave primária. |
ReferencedColumnName | String | O nome da coluna da chave primária. |
ForeignKeyType | String | Designa se a chave estrangeira é uma chave de importação (aponta para outras tabelas) ou de exportação (referenciada de outras tabelas). |
Sys_indexes
Descreve os índices disponíveis. Ao filtrar por índices, você pode escrever consultas mais seletivas com tempos de resposta de consultar mais rápidos.
A consultar a seguir recupera todos os índices que não são chaves primárias:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém o índice. |
SchemaName | String | O nome do esquema que contém o índice. |
TableName | String | O nome da tabela que contém o índice. |
IndexName | String | O nome do índice. |
ColumnName | String | O nome da coluna associada ao índice. |
IsUnique | Boolean | True se o índice for exclusivo. Falso caso contrário. |
IsPrimary | Boolean | Verdadeiro se o índice for uma chave primária. Falso caso contrário. |
Type | Int16 | Um valor inteiro correspondente ao tipo de índice: estatística (0), agrupado (1), hash (2) ou outro (3). |
SortOrder | String | A ordem de classificação: A para crescente ou D para decrescente. |
OrdinalPosition | Int16 | O número de sequência da coluna no índice. |
Sys_connection_props
Retorna informações sobre as propriedades de conexão disponíveis e as definidas na string de conexão.
Ao consultar esta tabela, a string de conexão de configuração deve ser usada:
jdbc:cdata:cloudant:config:
Esta string de conexão permite que você consultar esta tabela sem uma conexão válida.
A consultar a seguir recupera todas as propriedades de conexão que foram definidas na string de conexão ou definidas por meio de um valor padrão:
SELECT * FROM sys_connection_props WHERE Value <> ''
Colunas
Nome | Tipo | Descrição |
---|---|---|
Name | String | O nome da propriedade de conexão. |
ShortDescription | String | Uma breve descrição. |
Type | String | O tipo de dados da propriedade de conexão. |
Default | String | O valor padrão, se não houver um definido explicitamente. |
Values | String | Uma lista separada por vírgulas de valores possíveis. Um erro de validação é lançado se outro valor for especificado. |
Value | String | O valor que você definiu ou um padrão pré-configurado. |
Required | Boolean | Se a propriedade é necessária para se conectar. |
Category | String | A categoria da propriedade de conexão. |
IsSessionProperty | String | Se a propriedade é uma propriedade de sessão, usada para salvar informações sobre a conexão atual. |
Sensitivity | String | O nível de sensibilidade da propriedade. Isso informa se a propriedade é ofuscada nos formulários de registro e autenticação. |
PropertyName | String | Uma forma truncada em camel case do nome da propriedade de conexão. |
Ordinal | Int32 | O índice do parâmetro. |
CatOrdinal | Int32 | O índice da categoria do parâmetro. |
Hierarchy | String | Mostra as propriedades dependentes associadas que precisam ser definidas juntamente com esta. |
Visible | Boolean | Informa se a propriedade está visível na UI da conexão. |
ETC | String | Diversas informações diversas sobre o imóvel. |
Sys_sqlinfo
Descreve o processamento da consultar SELECT que o conector pode transferir para a fonte de dados.
Processamento de Consultas Colaborativas
Ao trabalhar com fontes de dados que não suportam SQL-92, você pode consultar a exibição sys_sqlinfo para determinar os recursos de consultar das APIs subjacentes, expressas na sintaxe SQL. O conector transfere o máximo possível do processamento da instrução SELECT para o servidor e, em seguida, processa o restante da consultar na memória.
Descobrindo os Recursos SELECT da Fonte de Dados
Abaixo está um exemplo de conjunto de dados de recursos SQL. O conjunto de resultados a seguir indica a funcionalidade SELECT que o conector pode descarregar para a fonte de dados ou processar o lado do cliente. Sua fonte de dados pode suportar sintaxe SQL adicional. Alguns aspectos da funcionalidade SELECT são retornados em uma lista separada por vírgulas, se suportados; caso contrário, a coluna contém NO.
Nome | Descrição | Valores Possíveis |
---|---|---|
AGGREGATE_FUNCTIONS | Funções de agregação suportadas. | AVG , COUNT , MAX , MIN , SUM , DISTINCT |
COUNT | Se a função COUNT é suportada. | YES , NO |
IDENTIFIER_QUOTE_OPEN_CHAR | O caractere de abertura usado para escapar de um identificador. | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | O caractere de fechamento usado para escapar de um identificador. | ] |
SUPPORTED_OPERATORS | Uma lista de operadores SQL com suporte. | = , > , < , >= , <= , <> , != , LIKE , NOT LIKE , IN , NOT IN , IS NULL , IS NOT NULL , AND , OR |
GROUP_BY | Se GROUP BY é compatível e, em caso afirmativo, o grau de suporte. | NO , NO_RELATION , EQUALS_SELECT , SQL_GB_COLLATE |
STRING_FUNCTIONS | Funções de string suportadas. | LENGTH , CHAR , LOCATE , REPLACE , SUBSTRING , RTRIM , LTRIM , RIGHT , LEFT , UCASE , SPACE , SOUNDEX , LCASE , CONCAT , ASCII , REPEAT , OCTET , BIT , POSITION , INSERT , TRIM , UPPER , REGEXP , LOWER , DIFFERENCE , CHARACTER , SUBSTR , STR , REVERSE , PLAN , UUIDTOSTR , TRANSLATE , TRAILING , TO , STUFF , STRTOUUID , STRING , SPLIT , SORTKEY , SIMILAR , REPLICATE , PATINDEX , LPAD , LEN , LEADING , KEY , INSTR , INSERTSTR , HTML , GRAPHICAL , CONVERT , COLLATION , CHARINDEX , BYTE |
NUMERIC_FUNCTIONS | Funções numéricas suportadas. | ABS , ACOS , ASIN , ATAN , ATAN2 , CEILING , COS , COT , EXP , FLOOR , LOG , MOD , SIGN , SIN , SQRT , TAN , PI , RAND , DEGREES , LOG10 , POWER , RADIANS , ROUND , TRUNCATE |
TIMEDATE_FUNCTIONS | Funções de data/hora suportadas. | NOW , CURDATE , DAYOFMONTH , DAYOFWEEK , DAYOFYEAR , MONTH , QUARTER , WEEK , YEAR , CURTIME , HOUR , MINUTE , SECOND , TIMESTAMPADD , TIMESTAMPDIFF , DAYNAME , MONTHNAME , CURRENT_DATE , CURRENT_TIME , CURRENT_TIMESTAMP , EXTRACT |
REPLICATION_SKIP_TABLES | Indica tabelas ignoradas durante a replicação. | |
REPLICATION_TIMECHECK_COLUMNS | Uma matriz de string contendo uma lista de colunas que serão usadas para verificar (na ordem especificada) para usar como uma coluna modificada durante a replicação. | |
IDENTIFIER_PATTERN | Valor de string que indica qual string é válida para um identificador. | |
SUPPORT_TRANSACTION | Indica se o provedor oferece suporte a transações como confirmação e reversão. | YES , NO |
DIALECT | Indica o dialeto SQL a ser usado. | |
KEY_PROPERTIES | Indica as propriedades que identificam o banco de dados uniforme. | |
SUPPORTS_MULTIPLE_SCHEMAS | Indica se vários esquemas podem existir para o provedor. | YES , NO |
SUPPORTS_MULTIPLE_CATALOGS | Indica se vários catálogos podem existir para o provedor. | YES , NO |
DATASYNCVERSION | A versão do Data Sync necessária para acessar este driver. | Standard , Starter , Professional , Enterprise |
DATASYNCCATEGORY | A categoria Data Sync deste driver. | Source , Destination , Cloud Destination |
SUPPORTSENHANCEDSQL | Se a funcionalidade SQL aprimorada além do que é oferecido pela API é suportada. | TRUE , FALSE |
SUPPORTS_BATCH_OPERATIONS | Se as operações em lote são suportadas. | YES , NO |
SQL_CAP | Todos os recursos SQL suportados para este driver. | SELECT , INSERT , DELETE , UPDATE , TRANSACTIONS , ORDERBY , OAUTH , ASSIGNEDID , LIMIT , LIKE , BULKINSERT , COUNT , BULKDELETE , BULKUPDATE , GROUPBY , HAVING , AGGS , OFFSET , REPLICATE , COUNTDISTINCT , JOINS , DROP , CREATE , DISTINCT , INNERJOINS , SUBQUERIES , ALTER , MULTIPLESCHEMAS , GROUPBYNORELATION , OUTERJOINS , UNIONALL , UNION , UPSERT , GETDELETED , CROSSJOINS , GROUPBYCOLLATE , MULTIPLECATS , FULLOUTERJOIN , MERGE , JSONEXTRACT , BULKUPSERT , SUM , SUBQUERIESFULL , MIN , MAX , JOINSFULL , XMLEXTRACT , AVG , MULTISTATEMENTS , FOREIGNKEYS , CASE , LEFTJOINS , COMMAJOINS , WITH , LITERALS , RENAME , NESTEDTABLES , EXECUTE , BATCH , BASIC , INDEX |
PREFERRED_CACHE_OPTIONS | Um valor de string especifica o cacheOptions preferencial. | |
ENABLE_EF_ADVANCED_QUERY | Indica se o driver oferece suporte direto a consultas avançadas provenientes do Entity Framework. Caso contrário, as consultas serão tratadas no lado do cliente. | YES , NO |
PSEUDO_COLUMNS | Uma matriz de cadeia de caracteres que indica as pseudocolunas disponíveis. | |
MERGE_ALWAYS | Se o valor for verdadeiro, o modo de mesclagem será executado à força no Data Sync. | TRUE , FALSE |
REPLICATION_MIN_DATE_QUERY | Uma consultar de seleção para retornar a data e hora de início da replicação. | |
REPLICATION_MIN_FUNCTION | Permite que um provedor especifique o nome da fórmula a ser usado para executar um min do lado do servidor. | |
REPLICATION_START_DATE | Permite que um provedor especifique uma data de início de replicação. | |
REPLICATION_MAX_DATE_QUERY | Uma consultar de seleção para retornar a data e hora de término da replicação. | |
REPLICATION_MAX_FUNCTION | Permite que um provedor especifique o nome da fórmula a ser usado para executar um máximo do lado do servidor. | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | Uma lista de tabelas que ignorará a divisão da replicação em blocos na replicação inicial. | |
CHECKCACHE_USE_PARENTID | Indica se a instrução CheckCache deve ser executada na coluna de chave pai. | TRUE , FALSE |
CREATE_SCHEMA_PROCEDURES | Indica procedimentos armazenados* que pode ser usado para gerar arquivos de esquema. |
A consultar a seguir recupera os operadores que podem ser usados na cláusula WHERE:
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'
Observe que tabelas individuais podem ter diferentes limitações ou requisitos na cláusula WHERE; consulte o Banco de Dados NoSQL para obter mais informações.
Colunas
Nome | Tipo | Descrição |
---|---|---|
NAME | String | Um componente da sintaxe SQL ou um recurso que pode ser processado no servidor. |
VALUE | String | Detalhes sobre a sintaxe SQL ou SQL suportada. |
Sys_identity
Retorna informações sobre tentativas de modificação.
A consultar a seguir recupera os IDs das linhas modificadas em uma operação em lote:
SELECT * FROM sys_identity
Colunas
Nome | Tipo | Descrição |
---|---|---|
Id | String | O ID gerado pelo banco de dados retornado de uma operação de modificação de dados. |
Batch | String | Um identificador para o lote. 1 para uma única operação. |
Operation | String | O resultado da operação no lote: INSERTED, UPDATED ou DELETED. |
Message | String | SUCCESS ou uma mensagem de erro se a atualização no lote falhou. |
Procedimentos Armazenados
Procedimentos armazenados* estão disponíveis para complementar os dados disponíveis no NoSQL Database. Pode ser necessário atualizar os dados disponíveis em uma exibição usando um procedimento armazenado* porque os dados não fornecem atualizações bidirecionais diretas, semelhantes a tabelas. Nessas situações, a recuperação dos dados é feita usando a visualização ou tabela apropriada, enquanto a atualização é feita chamando um procedimento armazenado. Procedimentos armazenados* pega uma lista de parâmetros e retorna um conjunto de dados que contém a coleção de tuplas que constituem a resposta.
Conector Jitterbit para Procedimentos Armazenados Cloudant
Nome | Descrição |
---|---|
CreateSchema | Cria uma definição de esquema de uma tabela no Cloudant. Controle a descoberta de colunas com FlattenObjects, FlattenArrays, TypeDetectionScheme e RowScanDepth. |
GetOAuthAccessToken | Obtém um token de autenticação do IBM Cloud. A propriedade de conexão ApiKey deve ser especificada ao chamar este procedimento armazenado. |
RefreshOAuthAccessToken | Atualiza o token de acesso OAuth usado para autenticação com o IBM Cloud. A propriedade de conexão ApiKey deve ser especificada ao chamar este procedimento armazenado. |
Criar Esquema
Cria uma definição de esquema de uma tabela no Cloudant. Controle a descoberta de colunas com FlattenObjects, FlattenArrays, TypeDetectionScheme e RowScanDepth.
Entrada
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
TableName | String | Verdade | O nome da mesa. |
FileName | String | Falso | O caminho de arquivo completo e o nome do esquema a ser gerado, necessários se a propriedade de conexão de local não estiver configurada. Ex: 'C:\Usuários\Usuário\Desktop\Cloudant\sheet.rsd' |
SimplifyNames | String | Falso | Se a saída de nomes simples para colunas ou não. O padrão é simplificar. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
Result | String | Se o esquema foi baixado com êxito ou não. |
GetOAuthAccessToken
Obtém um token de autenticação do IBM Cloud. A propriedade de conexão ApiKey deve ser especificada ao chamar este procedimento armazenado.
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de acesso usado para comunicação com o IBM Cloud. |
OAuthRefreshToken | String | O token de atualização OAuth. Isso é o mesmo que o token de acesso no caso do IBM Cloud. |
ExpiresIn | String | O tempo de vida restante no token de acesso. Um -1 denota que não irá expirar. |
RefreshOAuthAccessToken
Atualiza o token de acesso OAuth usado para autenticação com o IBM Cloud. A propriedade de conexão ApiKey deve ser especificada ao chamar este procedimento armazenado.
Entrada
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
OAuthRefreshToken | String | Verdade | O token de atualização retornado da troca do código de autorização original. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de autenticação retornado do IBM CLoud. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
OAuthRefreshToken | String | Um token que pode ser usado para obter um novo token de acesso. |
ExpiresIn | String | O tempo de vida restante no token de acesso. |
Características Avançadas
Esta seção detalha uma seleção de recursos avançados do conector Cloudant.
Visualizações definidas pelo usuário
O conector permite definir tabelas virtuais, denominadas visões definidas pelo usuário, cujo conteúdo é decidido por uma consultar pré-configurada. Essas exibições são úteis quando você não pode controlar diretamente as consultas enviadas aos drivers. Consulte Visualizações definidas pelo usuário para obter uma visão geral da criação e configuração de exibições personalizadas.
Configuração SSL
Use Configuração SSL para ajustar como o conector lida com as negociações de certificado TLS/SSL. Você pode escolher entre vários formatos de certificado; Veja o SSLServerCert
propriedade em "Opções de cadeia de conexão" para obter mais informações.
Procurador
Para configurar o conector usando configurações de proxy do Agente Privado, selecione os Use Proxy Settings
caixa de seleção na tela de configuração da conexão.
Visualizações Definidas pelo Usuário
O Jitterbit Connector for Cloudant permite definir uma tabela virtual cujo conteúdo é decidido por uma consultar pré-configurada. Elas são chamadas de Visualizações Definidas pelo Usuário, que são úteis em situações onde você não pode controlar diretamente a consultar que está sendo emitida para o driver, por exemplo, ao usar o driver do Jitterbit. As Visualizações Definidas pelo Usuário podem ser usadas para definir predicados que são sempre aplicados. Se você especificar predicados adicionais na consultar para a visualização, eles serão combinados com a consultar já definida como parte da visualização.
Há duas maneiras de criar exibições definidas pelo usuário:
- Crie um arquivo de configuração em formato JSON definindo as visualizações desejadas.
- declarações DDL.
Definindo Visualizações Usando um Arquivo de Configuração
As visualizações definidas pelo usuário são definidas em um arquivo de configuração formatado em JSON chamado UserDefinedViews.json
. O conector detecta automaticamente as visualizações especificadas neste arquivo.
Você também pode ter várias definições de exibição e controlá-las usando o UserDefinedViews
propriedade de conexão. Quando você usa essa propriedade, apenas as exibições especificadas são vistas pelo conector.
Este arquivo de configuração de exibição definida pelo usuário é formatado da seguinte forma:
- Cada elemento raiz define o nome de uma exibição.
- Cada elemento raiz contém um elemento filho, chamado
query
, que contém a consultar SQL personalizada para a visualização.
Por exemplo:
{
"MyView": {
"query": "SELECT * FROM Movies WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Use o UserDefinedViews
propriedade de conexão para especificar a localização do seu arquivo de configuração JSON. Por exemplo:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Esquema para Exibições Definidas pelo Usuário
As visualizações definidas pelo usuário são expostas no UserViews
esquema por padrão. Isso é feito para evitar que o nome da exibição entre em conflito com uma entidade real no modelo de dados. Você pode alterar o nome do esquema usado para UserViews definindo o UserViewsSchemaName
propriedade.
Trabalhando com Exibições Definidas pelo Usuário
Por exemplo, uma instrução SQL com uma Visualização Definida pelo Usuário chamada UserViews.RCustomers
lista apenas clientes em Raleigh:
SELECT * FROM Customers WHERE City = 'Raleigh';
Exemplo de consultar ao driver:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Resultando na consultar efetiva à fonte:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
Esse é um exemplo muito simples de uma consultar a uma exibição definida pelo usuário que é efetivamente uma combinação da consultar de exibição e da definição de exibição. É possível compor essas consultas em padrões bem mais complexos. Todas as operações SQL são permitidas em ambas as consultas e são combinadas quando apropriado.
Configuração SSL
Personalizando a Configuração SSL
Por padrão, o conector tenta negociar SSL/TLS verificando o certificado do servidor em relação ao armazenamento de certificados confiáveis do sistema.
Para especificar outro certificado, consulte o SSLServerCert
propriedade para os formatos disponíveis para fazê-lo.
Propriedades de Configurações Avançadas
As propriedades de configurações avançadas são as várias opções que podem ser usadas para estabelecer uma conexão. Esta seção fornece uma lista completa das opções que você pode configurar. Clique nos links para mais detalhes.
Propriedade | Descrição |
---|---|
AuthScheme | O tipo de autenticação a ser usado ao conectar-se ao Cloudant. |
URL | A URL usada para conectar-se ao Cloudant. |
User | A conta de usuário do Cloudant usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
ApiKey | A chave de API usada para identificar o usuário para o IBM Cloud. |
Propriedade | Descrição |
---|---|
InitiateOAuth | Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar. |
OAuthRefreshToken | O token de atualização OAuth para o token de acesso OAuth correspondente. |
OAuthExpiresIn | O tempo de vida em segundos do OAuth AccessToken. |
OAuthTokenTimestamp | O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado. |
Propriedade | Descrição |
---|---|
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
Propriedade | Descrição |
---|---|
Location | Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados. |
BrowsableSchemas | Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC. |
Views | Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC. |
ListViews | Se listar exibições do Cloudant ou não. |
Propriedade | Descrição |
---|---|
FlattenArrays | Defina FlattenArrays como o número de elementos da matriz a serem nivelados em colunas. Caso contrário, os arrays são retornados como strings JSON. |
FlattenObjects | Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, objetos incorporados como strings JSON brutas. |
FlexibleSchema | Defina FlexibleSchema como true para verificar metadados adicionais no conjunto de resultados da consultar. Caso contrário, os metadados permanecerão os mesmos. |
MaxRows | Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
Pagesize | O número máximo de resultados a serem retornados por página do Cloudant. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
RowScanDepth | O número máximo de linhas a serem verificadas para procurar as colunas disponíveis em uma tabela. |
SeparatorCharacter | O caractere ou caracteres usados para denotar hierarquia. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
TypeDetectionScheme | Opção de como o provedor digitalizará os dados para determinar os campos e tipos de dados em cada coleção de documentos. |
Autenticação
Esta seção fornece uma lista completa de propriedades de autenticação que você pode configurar.
Propriedade | Descrição |
---|---|
AuthScheme | O tipo de autenticação a ser usado ao conectar-se ao Cloudant. |
URL | A URL usada para conectar-se ao Cloudant. |
User | A conta de usuário do Cloudant usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
ApiKey | A chave de API usada para identificar o usuário para o IBM Cloud. |
AuthScheme
O tipo de autenticação a ser usado ao conectar-se ao Cloudant.
Valores Possíveis
Auto
, Basic
, OAuth
Tipo de Dados
string
Valor Padrão
"Auto"
Observações
- Auto: permite que o driver decida automaticamente com base nas outras propriedades de conexão que você definiu.
- Básico: Defina para usar autenticação de usuário/senha BÁSICA.
- OAuth: Defina para executar a autenticação OAuth. Para este método, você precisará da APIKey e da URL da instância do Cloudant.
URL
A URL usada para conectar-se ao Cloudant.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL HTTP ou HTTPS usada para se conectar ao Cloudant no formato https://{instance id}-bluemix.cloudantnosqldb.appdomain.cloud
ou no caso de servidor de hospedagem própria http[s]://{servidor}:{porta}
Do Utilizador
A conta de usuário do Cloudant usada para autenticação.
Tipo de Dados
string
Valor Padrão
""
Observações
Juntamente com Senha, esse campo é usado para autenticação no servidor Cloudant.
Senha
A senha usada para autenticar o usuário.
Tipo de Dados
string
Valor Padrão
""
Observações
O usuário e Password
são usados juntos para autenticar com o servidor.
Chave API
A chave de API usada para identificar o usuário para o IBM Cloud.
Tipo de Dados
string
Valor Padrão
""
Observações
O acesso aos recursos na API Cloudant REST é controlado por uma chave de API para recuperar o token. Uma chave de API criada navegando para Gerenciar --> Acesso (IAM) --> Usuários e clicando em 'Criar'.
OAuth
Esta seção fornece uma lista completa de propriedades OAuth que você pode configurar.
Propriedade | Descrição |
---|---|
InitiateOAuth | Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar. |
OAuthRefreshToken | O token de atualização OAuth para o token de acesso OAuth correspondente. |
OAuthExpiresIn | O tempo de vida em segundos do OAuth AccessToken. |
OAuthTokenTimestamp | O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado. |
InitiateOAuth
Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
Valores Possíveis
OFF
, GETANDREFRESH
, REFRESH
Tipo de Dados
string
Valor Padrão
"OFF"
Observações
As seguintes opções estão disponíveis:
OFF
: Indica que o fluxo OAuth será tratado inteiramente pelo usuário. Um OAuthAccessToken será necessário para autenticação.GETANDREFRESH
: Indica que todo o fluxo OAuth será tratado pelo conector. Se nenhum token existir atualmente, ele será obtido solicitando ao usuário por meio do navegador. Se existir um token, ele será atualizado quando aplicável.REFRESH
: Indica que o conector tratará apenas da atualização do OAuthAccessToken. O usuário nunca será solicitado pelo conector a autenticar por meio do navegador. O usuário deve manipular a obtenção do OAuthAccessToken e OAuthRefreshToken inicialmente.
OAuthRefreshToken
O token de atualização OAuth para o token de acesso OAuth correspondente.
Tipo de Dados
string
Valor Padrão
""
Observações
O OAuthRefreshToken
a propriedade é usada para atualizar o OAuthAccessToken ao usar a autenticação OAuth.
OAuthExpiresIn
O tempo de vida em segundos do OAuth AccessToken.
Tipo de Dados
string
Valor Padrão
""
Observações
Emparelhe com OAuthTokenTimestamp para determinar quando o AccessToken expirará.
OAuthTokenTimestamp
O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.
Tipo de Dados
string
Valor Padrão
""
Observações
Emparelhe com OAuthExpiresIn para determinar quando o AccessToken expirará.
SSL
Esta seção fornece uma lista completa de propriedades SSL que você pode configurar.
Propriedade | Descrição |
---|---|
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
SSLServerCert
O certificado a ser aceito do servidor ao conectar usando TLS/SSL.
Tipo de Dados
string
Valor Padrão
""
Observações
Se estiver usando uma conexão TLS/SSL, esta propriedade pode ser usada para especificar o certificado TLS/SSL a ser aceito do servidor. Qualquer outro certificado que não seja confiável para a máquina é rejeitado.
Esta propriedade pode assumir as seguintes formas:
Descrição | Exemplo |
---|---|
Um certificado PEM completo (exemplo abreviado para concisão) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
Um caminho para um arquivo local contendo o certificado | C:\cert.cer |
A chave pública (exemplo abreviado para concisão) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
O MD5 Thumbprint (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) | ecadbdda5a1529c58a1e9e09828d70e4 |
A impressão digital SHA1 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Se não for especificado, qualquer certificado confiável pela máquina será aceito.
Os certificados são validados como confiáveis pela máquina com base no armazenamento confiável do sistema. O armazenamento confiável usado é o valor 'javax.net.ssl.trustStore' especificado para o sistema. Se nenhum valor for especificado para esta propriedade, o armazenamento confiável padrão do Java será usado (por exemplo, JAVA_HOME\lib\security\cacerts).
Use '*' para indicar a aceitação de todos os certificados. Observe que isso não é recomendado devido a questões de segurança.
Esquema
Esta seção fornece uma lista completa de propriedades de esquema que você pode configurar.
Propriedade | Descrição |
---|---|
Location | Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados. |
BrowsableSchemas | Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC. |
Views | Restringe as exibições relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC. |
ListViews | Se listar exibições do Cloudant ou não. |
Localização
Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
Tipo de Dados
string
Valor Padrão
"%APPDATA%\\\Cloudant Data Provider\\Schema"
Observações
O caminho para um diretório que contém os arquivos de esquema para o conector (arquivos .rsd para tabelas e exibições, arquivos .rsb para procedimentos armazenados). A localização da pasta pode ser um caminho relativo a partir da localização do executável. O Location
a propriedade só é necessária se você quiser personalizar definições (por exemplo, alterar um nome de coluna, ignorar uma coluna e assim por diante) ou estender o modelo de dados com novas tabelas, exibições ou procedimentos armazenados.
Se não for especificado, o local padrão é "%APPDATA%\\Cloudant Data Provider\Schema" com %APPDATA%
sendo definido para o diretório de configuração do usuário:
Plataforma | %APPDATA% |
---|---|
Windows | O valor da variável de ambiente APPDATA |
Mac | ~/Biblioteca/Suporte de aplicativos |
Linux | ~/.config |
Esquemas Navegáveis
Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar os esquemas de bancos de dados pode ser caro. Fornecer uma lista de esquemas na string de conexão melhora o desempenho.
Tabelas
Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tabelas=TabelaA,TabelaB,TabelaC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar as tabelas de alguns bancos de dados pode ser caro. Fornecer uma lista de tabelas na string de conexão melhora o desempenho do conector.
Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitas para trabalhar.
Especifique as tabelas que deseja em uma lista separada por vírgulas. Cada tabela deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.
Visualizações
Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA,ViewB,ViewC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar as exibições de alguns bancos de dados pode ser caro. Fornecer uma lista de exibições na string de conexão melhora o desempenho do conector.
Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitas para trabalhar.
Especifique as exibições desejadas em uma lista separada por vírgulas. Cada exibição deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.
ListViews
Se listar exibições do Cloudant ou não.
Tipo de Dados
bool
Valor Padrão
false
Observações
Configure esta propriedade como true para que as visualizações do Cloudant apareçam ao listar tabelas.
Diversos
Esta seção fornece uma lista completa de diversas propriedades que você pode configurar.
Propriedade | Descrição |
---|---|
FlattenArrays | Defina FlattenArrays como o número de elementos da matriz a serem nivelados em colunas. Caso contrário, os arrays são retornados como strings JSON. |
FlattenObjects | Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, objetos incorporados como strings JSON brutas. |
FlexibleSchema | Defina FlexibleSchema como true para verificar metadados adicionais no conjunto de resultados da consultar. Caso contrário, os metadados permanecerão os mesmos. |
MaxRows | Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
Pagesize | O número máximo de resultados a serem retornados por página do Cloudant. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
RowScanDepth | O número máximo de linhas a serem verificadas para procurar as colunas disponíveis em uma tabela. |
SeparatorCharacter | O caractere ou caracteres usados para denotar hierarquia. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
TypeDetectionScheme | Opção de como o provedor digitalizará os dados para determinar os campos e tipos de dados em cada coleção de documentos. |
FlattenArrays
Defina FlattenArrays como o número de elementos da matriz a serem nivelados em colunas. Caso contrário, os arrays são retornados como strings JSON.
Tipo de Dados
string
Valor Padrão
""
Observações
Por padrão, arrays aninhados são retornados como strings de JSON. O FlattenArrays
propriedade pode ser usada para nivelar os elementos de arrays aninhados em colunas próprias: Set FlattenArrays
para o número de elementos que você deseja retornar de arrays aninhados. O índice baseado em zero é concatenado ao nome da coluna com um ponto ou o caractere especificado por SeparatorCharacter. Outros elementos são ignorados.
Por exemplo, você pode retornar um número arbitrário de elementos de um array de strings:
["FLOW-MATIC","LISP","COBOL"]
Quando FlattenArrays
é definido como 1, a matriz anterior é simplificada na tabela a seguir:
Nome da coluna | Valor da coluna |
---|---|
languages.0 | FLOW-MATIC |
Contexto FlattenArrays
para -1 achatará todos os elementos de arrays aninhados.
Usando FlattenArrays
é recomendado apenas para arrays que devem ser curtos. Consulte Banco de dados NoSQL para outras maneiras de acessar matrizes aninhadas.
Flatten Objects
Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, objetos incorporados como strings JSON brutas.
Tipo de Dados
bool
Valor Padrão
true
Observações
Definir FlattenObjects
para true para achatar as propriedades do objeto em colunas próprias. Caso contrário, objetos incorporados como strings JSON brutas. O nome da propriedade é concatenado no nome do objeto com um ponto ou o caractere especificado por SeparatorCharacter.
Por exemplo, você pode nivelar os objetos aninhados abaixo no momento da conexão:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
Quando FlattenObjects
é definido como verdadeiro e FlattenArrays é definido como 1, a matriz anterior é simplificada na tabela a seguir:
Nome da coluna | Valor da coluna |
---|---|
grades.0.grade | A |
grades.0.score | 2 |
Esquema Flexível
Defina FlexibleSchema como true para verificar metadados adicionais no conjunto de resultados da consultar. Caso contrário, os metadados permanecerão os mesmos.
Tipo de Dados
bool
Valor Padrão
true
Observações
Definir FlexibleSchema
para true para verificar metadados adicionais no conjunto de resultados da consultar. Caso contrário, os metadados permanecerão os mesmos.
MaxRows
Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Tipo de Dados
int
Valor Padrão
-1
Observações
Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Outro
Essas propriedades ocultas são usadas apenas em casos de uso específicos.
Tipo de Dados
string
Valor Padrão
""
Observações
As propriedades listadas abaixo estão disponíveis para casos de uso específicos. Casos de uso de driver normal e funcionalidade não devem exigir essas propriedades.
Especifique várias propriedades em uma lista separada por ponto e vírgula.
Integração e Formatação
Propriedade | Descrição |
---|---|
DefaultColumnSize | Define o comprimento padrão dos campos de string quando a fonte de dados não fornece o comprimento da coluna nos metadados. O valor padrão é 2000. Voltar para o início |
ConvertDateTimeToGMT | Determina se os valores de data e hora devem ser convertidos em GMT, em vez da hora local da máquina. |
RecordToFile=filename | Registra a transferência de dados do soquete subjacente para o arquivo especificado. |
Tamanho da Página
O número máximo de resultados a serem retornados por página do Cloudant.
Tipo de Dados
int
Valor Padrão
1000
Observações
O Pagesize
propriedade afeta o número máximo de resultados a serem retornados por página do Cloudant. Definir um valor mais alto pode resultar em melhor desempenho ao custo de memória adicional alocada por página consumida.
Pseudocolunas
Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
Tipo de Dados
string
Valor Padrão
""
Observações
Essa configuração é particularmente útil no Entity Framework, que não permite definir um valor para uma pseudocoluna, a menos que seja uma coluna de tabela. O valor dessa configuração de conexão está no formato "Table1=Column1, Table1=Column2, Table2=Column3". Você pode usar o caractere "*" para incluir todas as tabelas e todas as colunas; por exemplo, "*=*".
RowScanDepth
O número máximo de linhas a serem verificadas para procurar as colunas disponíveis em uma tabela.
Tipo de Dados
int
Valor Padrão
50
Observações
As colunas em uma tabela devem ser determinadas pela varredura das linhas da tabela. Esse valor determina o número máximo de linhas que serão verificadas.
Definir um valor alto pode diminuir o desempenho. Definir um valor baixo pode impedir que o tipo de dados seja determinado corretamente, especialmente quando houver dados nulos.
Caractere Separador
O caractere ou caracteres usados para denotar hierarquia.
Tipo de Dados
string
Valor Padrão
"."
Observações
Para nivelar as estruturas hierárquicas, o conector precisa de algum especificador que indique o caminho para uma coluna na hierarquia. Se este valor for "." e uma coluna volta com o nome address.city, isso indica que existe um atributo mapeado com um filho chamado city. Se seus dados tiverem colunas que já usam um único ponto no nome do atributo, defina o SeparatorCharacter
para um personagem ou personagens diferentes.
Tempo Esgotado
O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.
Tipo de Dados
int
Valor Padrão
60
Observações
Se Timeout
= 0, as operações não expiram. As operações são executadas até serem concluídas com êxito ou até encontrarem uma condição de erro.
Se Timeout
expira e a operação ainda não está concluída, o conector lança uma exceção.
TipoDetecçãoEsquema
Opção de como o provedor digitalizará os dados para determinar os campos e tipos de dados em cada coleção de documentos.
Tipo de Dados
string
Valor Padrão
"RowScan"
Observações
Como o Cloudant não tem esquema, as colunas em uma tabela devem ser determinadas pela varredura das linhas da tabela. Definir TypeDetectionScheme
para alternar a descoberta automática de tipos de dados. Defina RowScanDepth para configurar a detecção de tipo.
Propriedade | Descrição |
---|---|
None | Contexto TypeDetectionScheme para None retornará todas as colunas como um tipo de string. |
RowScan | Contexto TypeDetectionScheme para RowScan varrerá linhas para determinar heuristicamente o tipo de dados. A RowScanDepth determina o número de linhas a serem verificadas. |
Veja Também
A detecção de tipo faz parte da Descoberta Automática de Esquema. Defina FlattenArrays e FlattenObjects para configurar como o conector projeta colunas sobre os dados hierárquicos.
Você pode ajustar as colunas descobertas e os tipos de dados chamando CreateSchema para gerar um arquivo de esquema. Os arquivos de esquema têm um formato simples que facilita a alteração do comportamento da coluna.