Detalhes da Conexão do Apache Cassandra
Introdução
Versão do conector
Esta documentação é baseada na versão 21.0.8257 do conector.
Começando
Suporte à versão do Cassandra
O conector suporta versões CQL 2.0, 3.0 e 4.0
Estabelecendo uma Conexão
Conectando ao Servidor
Colocou o Server
e Database
propriedades de conexão para se conectar ao Cassandra.
Para se conectar a um sistema distribuído, você pode definir Server
a uma lista separada por vírgulas de servidores e portas, separados por dois pontos. Você também precisará definir ConsistencyLevel
.
As seções a seguir detalham as propriedades de conexão para autenticação, segurança e acesso a dados. Consulte Ajuste fino de acesso a dados se precisar de mais controle sobre a conexão com seu sistema.
Conectando-se ao CosmosDB com a API do Cassandra
Para obter a cadeia de conexão necessária para se conectar a uma conta do Cosmos DB usando a API do Cassandra, faça logon no Portal do Azure, selecione Azure Cosmos DB e selecione sua conta. Na seção Settings, clique em Connection String e defina os seguintes valores.
Server
: Defina como o valor Host, o FQDN do servidor provisionado para sua conta. Você também pode especificar a porta aqui ou emPort
.Port
: Defina isso para a porta.Database
: Defina isso para o banco de dados que você deseja ler e gravar.User
: O nome da conta do Cosmos DB.Password
: a chave da conta associada à conta do Cosmos DB.UseSSL
: Defina como Verdadeiro
Protegendo Conexões do Cassandra
Você pode definir UseSSL
para negociar criptografia SSL/TLS quando você se conectar. 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.
Autenticação para Cassandra
O conector oferece suporte à autenticação básica com credenciais de login e aos recursos adicionais de autenticação do DataStax Enterprise (DSE) Cassandra. As seções a seguir detalham as propriedades de conexão que seu método de autenticação pode exigir.
Você precisa definir AuthScheme
ao valor correspondente ao autenticador configurado para seu sistema. Você especifica o autenticador no authenticator
propriedade no arquivo cassandra.yaml. Esse arquivo geralmente é encontrado em /etc/dse/cassandra. ou por meio do DSE Unified Authenticator no DSE Cassandra.
Autenticação Básica
A autenticação básica é suportada por meio do PasswordAuthenticator padrão integrado do Cassandra.
- Colocou o
AuthScheme
propriedade como 'BASIC' e defina oUser
ePassword
propriedades. - No arquivo cassandra.yaml, defina o
authenticator
propriedade para 'PasswordAuthenticator'.
Autenticação Kerberos
A autenticação Kerberos é suportada por meio da autenticação unificada DataStax Enterprise.
- Colocou o
AuthScheme
propriedade para 'KERBEROS' e defina oUser
ePassword
propriedades. - Colocou o
KerberosKDC
,KerberosRealm
, eKerberosSPN
propriedades. - No arquivo cassandra.yaml, defina o
authenticator
propriedade para "com.datastax.bdp.cassandra.auth.DseAuthenticator". - Modifique o
authentication_options
seção no arquivo dse.yaml, especificando as propriedades default_schema e other_schemas como 'kerberos'. - Modifique o
kerberos_options
seção no arquivo dse.yaml, especificando as propriedades keytab, service_principle, http_principle e qop
Consulte Usando Kerberos para obter mais detalhes sobre como definir propriedades de conexão para se conectar ao Kerberos.
Autenticação LDAP
A autenticação LDAP é suportada através do DataStax Enterprise Unified Authentication.
- Colocou o
AuthScheme
propriedade para ' LDAP' e defina oUser
ePassword
propriedades. - No arquivo cassandra.yaml, defina o
authenticator
propriedade para "com.datastax.bdp.cassandra.auth.DseAuthenticator". - Modifique o
authentication_options
seção no arquivo dse.yaml, especificando as propriedades default_schema e other_schemas como 'ldap'. - Modifique o
ldap_options
seção no arquivo dse.yaml, especificando as propriedades server_host, server_port, search_dn, search_password, user_search_base e user_search_filter
Usando PKI
Você pode especificar um certificado de cliente para autenticar o conector com SSLClientCert
, SSLClientCertType
, SSLClientCertSubject
, e SSLClientCertPassword
.
Usando Kerberos
Esta seção mostra como usar o conector para autenticar no Cassandra usando Kerberos.
Autenticação com Kerberos
Para autenticar no Cassandra usando Kerberos, defina as seguintes propriedades:
AuthScheme
: Defina paraKERBEROS
.KerberosKDC
: Defina isso comohost name or IP Address
de sua máquina Kerberos KDC.KerberosRealm
: Defina parathe realm of the Cassandra Kerberos principal
. Este será o valor após o símbolo '@' (por exemplo, EXAMPLE.COM) doprincipal value
(por exemplo, hbase/MyHost@EXAMPLE.COM).KerberosSPN
: Defina isso comoservice and host of the Cassandra Kerberos Principal
. Este será o valor anterior ao símbolo '@' (por exemplo, hbase/MyHost) doprincipal value
(por exemplo, hbase/MyHost@EXAMPLE.COM).
Recupere o Tíquete Kerberos
Você pode usar uma das opções a seguir para recuperar o tíquete Kerberos necessário.
Arquivo de Cache de Credenciais do MIT Kerberos
Esta opção permite que você use o MIT Kerberos Ticket Manager ou o comando kinit para obter tickets. Observe que você não precisa definir o User
ou Password
propriedades de conexão com esta opção.
- Certifique-se de ter criado uma variável de ambiente chamada
KRB5CCNAME
. - Defina o
KRB5CCNAME
variável de ambiente para um caminho apontando para o seucredential cache file
(por exemplo, C:\krb_cache\krb5cc_0 ou /tmp/krb5cc_0). Este arquivo será criado ao gerar seu ticket com o MIT Kerberos Ticket Manager. - Para obter um ticket, abra o aplicativo MIT Kerberos Ticket Manager, clique em
Get Ticket, enter your principal name and password, then click OK
. Se for bem-sucedido, as informações do tíquete aparecerão no Kerberos Ticket Manager e agora serão armazenadas no arquivo de cache de credenciais. - Agora que o arquivo de cache de credenciais foi criado, o conector usará o arquivo de cache para obter o tíquete Kerberos para se conectar ao Cassandra.
Como alternativa para definir o KRB5CCNAME
variável de ambiente, você pode definir diretamente o caminho do arquivo usando KerberosTicketCache
propriedade. Quando definido, o conector usará o arquivo de cache especificado para obter o tíquete Kerberos para se conectar ao Cassandra.
Arquivo Keytab
Se a variável de ambiente KRB5CCNAME
não foi definida, você pode recuperar um tíquete Kerberos usando um Keytab File
. Para fazer isso, defina o User
propriedade para o nome de usuário desejado e defina o KerberosKeytabFile
para um caminho de arquivo apontando para o arquivo keytab associado ao usuário.
Usuário e Senha
Se a variável de ambiente KRB5CCNAME
e a propriedade KerberosKeytabFile
não tiverem sido definidas, você pode recuperar um ticket usando um User and Password combination
. Para fazer isso, defina o User
e Password
propriedades para a combinação de usuário/senha que você usa para autenticar com Cassandra.
Autenticação Cross-Realm
Ambientes Kerberos mais complexos podem exigir autenticação cross-realm em que vários realms e servidores KDC são usados (por exemplo, onde um realm/KDC é usado para autenticação do usuário e outro realm/KDC usado para obter o tíquete de serviço).
Em tal ambiente, o KerberosRealm
e KerberosKDC
as propriedades podem ser definidas com os valores necessários para autenticação do usuário. O KerberosServiceRealm
e KerberosServiceKDC
as propriedades podem ser definidas com os valores necessários para obter o ticket de serviço.
Acesso a Dados de Ajuste Fino
Acesso a Dados de Ajuste Fino
Você pode usar as seguintes propriedades para obter maior controle sobre os recursos da API do Cassandra e as estratégias que o conector usa para exibi-los:
-
AllowFiltering
: Defina esta propriedade para permitir que o servidor processe pesquisas de desempenho lento. -
UseJsonFormat
: Defina esta propriedade para usar literais CQL em vez de JSON. -
QueryPassthrough
: Esta propriedade permite usar instruções CQL nativas em vez de SQL. -
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.Esta propriedade se aplica se você estiver trabalhando com os esquemas dinâmicos gerados a partir de Automatic Schema Discovery ou se estiver usando
QueryPassthrough
.
Anotações Importantes
Procedimentos Armazenados
- Os recursos de procedimentos armazenados descritos nesta documentação não são suportados no momento.
- Como os procedimentos armazenados não são suportados atualmente, qualquer recurso dependente de procedimentos armazenados também não é suportado atualmente.
Arquivos de Configuração e Seus Caminhos
- Todas as referências para adicionar arquivos de configuração e seus caminhos referem-se a arquivos e locais no Harmony Agente onde o conector está instalado. Esses caminhos devem ser ajustados conforme apropriado, dependendo do agente e do sistema operacional. Se vários agentes forem usados em um grupo de agentes, arquivos idênticos serão necessários em cada agente.
Banco de Dados NoSQL
Cassandra é um banco de dados NoSQL que fornece alto desempenho, disponibilidade e escalabilidade. No entanto, esses recursos não são necessariamente incompatíveis com uma linguagem de consultar compatível com padrões como o SQL-92. O conector modela tabelas Cassandra em tabelas relacionais e traduz consultas SQL em chamadas para a API Cassandra, o protocolo binário CQL (Cassandra Query Language).
O equivalente a uma tabela no Cassandra é uma família de colunas. As famílias de colunas contêm colunas de dados relacionados. Como outros bancos de dados NoSQL, o Cassandra permite tipos complexos de campos, como conjunto, lista e mapa. Uma família de colunas é uma estrutura de dados de mapa aninhada. Isso pode ser representado como um objeto JSON.
O conector oferece duas maneiras de modelar objetos Cassandra. A Descoberta Automática de Esquema localiza automaticamente os tipos de dados em um objeto Cassandra verificando um número configurado de linhas do objeto. Você pode usar RowScanDepth
, FlattenArrays
, e FlattenObjects
para controlar a representação relacional das tabelas em Cassandra.
Descoberta Automática de Esquema
O conector infere automaticamente um esquema relacional inspecionando uma série de documentos Cassandra 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.
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.
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 o 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 |
JSON
A função JSON pode ser usada para recuperar a tabela inteira como uma string JSON. Veja a consultar a seguir e seu resultado como exemplo:
SELECT JSON(*) FROM Customers;
A consultar acima retornará a tabela inteira como 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 Tipo de Dados
Mapeamentos de Tipo de Dados
O conector mapeia os tipos da fonte de dados para o tipo de dados correspondente disponível no esquema. A tabela abaixo documenta esses mapeamentos.
Observe que as colunas de string podem mapear para diferentes tipos de dados, dependendo de seu comprimento.
Cassandra | Esquema |
---|---|
ascii | cadeia |
bigint | longo |
blob | binário |
boolean | bool |
counter | longo |
date | data |
decimal | decimal |
double | flutuar |
float | flutuar |
inet | cadeia |
int | int |
list | cadeia |
map | cadeia |
set | cadeia |
smallint | int |
text | cadeia |
time | tempo |
timestamp | data e hora |
timeuuid | cadeia |
tinyint | int |
tuple | cadeia |
udt | cadeia |
uuid | cadeia |
varchar | cadeia |
varint | cadeia |
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 Cassandra:
- 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, incluindo operações em lote:
- 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 visualizaçã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 para a tabela "".."Sample".Products:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Products' AND CatalogName='' AND SchemaName='Sample'
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 "".."Sample".Products:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Products' AND CatalogName='' AND SchemaName='Sample'
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), clusterizado (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:cassandra: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. |
Características Avançadas
Esta seção detalha uma seleção de recursos avançados do conector Cassandra.
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.
Firewall e Proxy
Configure o conector para conformidade com Firewall e Proxy, incluindo proxies do Windows. Você também pode configurar conexões de túnel.
Visualizações Definidas pelo Usuário
O Jitterbit Connector for Cassandra 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 exibição.
Por exemplo:
{
"MyView": {
"query": "SELECT * FROM \"\".\"Sample\".Products 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 muito 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.
Certificados SSL do Cliente
O conector Cassandra também oferece suporte à configuração de certificados de cliente. Defina o seguinte para se conectar usando um certificado de cliente.
SSLClientCert
: O nome do armazenamento de certificados para o certificado do cliente.SSLClientCertType
: O tipo de armazenamento de chaves que contém o certificado de cliente TLS/SSL.SSLClientCertPassword
: A senha para o certificado do cliente TLS/SSL.SSLClientCertSubject
: O assunto do certificado de cliente TLS/SSL.
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 esquema usado para autenticação. As entradas aceitas são Basic, DSE, Kerberos e LDAP. |
Server | O nome do hospedar ou endereço IP do servidor que hospeda o banco de dados Cassandra. |
Port | A porta para o banco de dados Cassandra. |
LDAPServer | O nome do hospedar ou endereço IP do servidor LDAP. |
User | A conta de usuário do Cassandra usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
LDAPPort | A porta para o servidor LDAP. |
Database | O nome do keyspace Cassandra. |
DefaultLDAPUser | O usuário LDAP padrão usado para conectar e se comunicar com o servidor, deve ser definido se o servidor LDAP não permitir ligação anônima. |
LDAPPassword | A senha do usuário LDAP padrão. Deve ser definido se o servidor LDAP não permitir ligação anônima. |
SearchBase | A base de pesquisa para seu servidor LDAP, usada para pesquisar usuários. |
SearchFilter | O filtro de pesquisa para procurar nomes de usuário no LDAP. A configuração padrão é (uid=). Ao usar o Active Directory, defina o filtro como (sAMAccountName=). |
UseSSL | Este campo define se o SSL está ativado. |
Propriedade | Descrição |
---|---|
KerberosKDC | O serviço Kerberos Key Distribution Center (KDC) usado para autenticar o usuário. |
KerberosRealm | O Kerberos Realm usado para autenticar o usuário. |
KerberosSPN | O nome principal do serviço (SPN) para o controlador de domínio Kerberos. |
KerberosKeytabFile | O arquivo Keytab contendo seus pares de principais Kerberos e chaves criptografadas. |
KerberosServiceRealm | A região Kerberos do serviço. |
KerberosServiceKDC | O Kerberos KDC do serviço. |
KerberosTicketCache | O caminho de arquivo completo para um arquivo de cache de credenciais do MIT Kerberos. |
Propriedade | Descrição |
---|---|
SSLClientCert | O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional). |
SSLClientCertType | O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL. |
SSLClientCertPassword | A senha para o certificado de cliente TLS/SSL. |
SSLClientCertSubject | O assunto do certificado de cliente TLS/SSL. |
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
Propriedade | Descrição |
---|---|
SSHAuthMode | O método de autenticação a ser usado para fazer logon em um servidor SFTP. |
SSHClientCert | Um certificado a ser usado para autenticar o usuário. |
SSHClientCertPassword | A senha do certificado SSHClientCert, se houver. |
SSHClientCertSubject | O assunto do certificado do cliente SSH. |
SSHClientCertType | O tipo de certificado SSHClientCert. |
SSHServer | O servidor SSH. |
SSHPort | A porta SSH. |
SSHUser | O usuário SSH. |
SSHPassword | A senha SSH. |
SSHServerFingerprint | A impressão digital do servidor SSH. |
UseSSH | Se deve encapsular a conexão do Cassandra por SSH. Use SSH. |
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. |
Propriedade | Descrição |
---|---|
AggregationsSupported | Se deve ou não dar suporte a agregações no servidor Cassandra. Observe que nas consultas ao provedor, você deve usar aspas simples para definir strings. |
AllowFiltering | Quando verdadeiro, as consultas de desempenho lento são processadas no servidor. |
CaseSensitivity | Ative a diferenciação de maiúsculas e minúsculas para o envio do CQL ao servidor; se definido como True, os identificadores no CQL serão colocados entre aspas duplas. |
ConsistencyLevel | O nível de consistência determina quantas réplicas dos dados com os quais você está interagindo precisam responder para que a consultar seja considerada um sucesso. |
FlattenArrays | Por padrão, arrays aninhados são retornados como strings de JSON. A propriedade FlattenArrays pode ser usada para nivelar os elementos de matrizes aninhadas em colunas próprias. Defina FlattenArrays para o número de elementos que você deseja retornar de matrizes aninhadas. |
FlattenObjects | Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, os objetos aninhados em arrays são retornados como strings de JSON. |
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. |
NullToUnset | Use unset em vez de NULL na consultar CQL ao executar operações INSERT. |
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 Cassandra. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
QueryPassthrough | Esta opção passa a consultar para o servidor Cassandra como está. |
RowScanDepth | O número máximo de linhas a serem verificadas para procurar as colunas disponíveis em uma tabela. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
UseJsonFormat | Se deve enviar e retornar a codificação JSON para tipos de dados CQL. |
VarintToString | Mapeie Cassandra VARINT para o valor String. |
Autenticação
Esta seção fornece uma lista completa de propriedades de autenticação que você pode configurar.
Propriedade | Descrição |
---|---|
AuthScheme | O esquema usado para autenticação. As entradas aceitas são Basic, DSE, Kerberos e LDAP. |
Server | O nome do hospedar ou endereço IP do servidor que hospeda o banco de dados Cassandra. |
Port | A porta para o banco de dados Cassandra. |
LDAPServer | O nome do hospedar ou endereço IP do servidor LDAP. |
User | A conta de usuário do Cassandra usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
LDAPPort | A porta para o servidor LDAP. |
Database | O nome do keyspace Cassandra. |
DefaultLDAPUser | O usuário LDAP padrão usado para conectar e se comunicar com o servidor, deve ser definido se o servidor LDAP não permitir ligação anônima. |
LDAPPassword | A senha do usuário LDAP padrão. Deve ser definido se o servidor LDAP não permitir ligação anônima. |
SearchBase | A base de pesquisa para seu servidor LDAP, usada para pesquisar usuários. |
SearchFilter | O filtro de pesquisa para procurar nomes de usuário no LDAP. A configuração padrão é (uid=). Ao usar o Active Directory, defina o filtro como (sAMAccountName=). |
UseSSL | Este campo define se o SSL está ativado. |
AuthScheme
O esquema usado para autenticação. As entradas aceitas são Basic, DSE, Kerberos e LDAP.
Valores Possíveis
Basic
, DSE
, Kerberos
, LDAP
Tipo de Dados
string
Valor Padrão
"Basic"
Observações
Defina esta propriedade para autenticar para instâncias Cassandra de software livre ou DataStax Enterprise (DSE).
Juntamente com Senha e Usuário, esse campo é usado para autenticar no servidor. Básico é a opção padrão. Use as seguintes opções para selecionar seu esquema de autenticação:
- Básico: defina para autenticar com credenciais de login e autenticação integrada do Cassandra.
- DSE: Defina para autenticar com credenciais de login e o DSE Unified Authenticator.
- Kerberos: Defina para usar o Kerberos para autenticação.
- LDAP: Defina para usar o LDAP para autenticação.
Consulte a seção Introdução para obter guias sobre o uso de cada método de autenticação.
Servidor
O nome do hospedar ou endereço IP do servidor que hospeda o banco de dados Cassandra.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do hospedar ou endereço IP do servidor que hospeda o banco de dados Cassandra. Para se conectar a um sistema distribuído, você pode definir Server
a uma lista separada por vírgulas de servidores e portas, separados por dois pontos. Você também precisará definir ConsistencyLevel.
Observe que você deve especificar todos os servidores necessários para o nível de consistência selecionado.
Porta
A porta para o banco de dados Cassandra.
Tipo de Dados
string
Valor Padrão
"9042"
Observações
A porta para o banco de dados Cassandra.
Servidor LDAP
O nome do hospedar ou endereço IP do servidor LDAP.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do hospedar ou endereço IP do servidor LDAP.
Do Utilizador
A conta de usuário do Cassandra usada para autenticação.
Tipo de Dados
string
Valor Padrão
""
Observações
Juntamente com Senha, este campo é usado para autenticação no servidor Cassandra.
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.
LDAPPort
A porta para o servidor LDAP.
Tipo de Dados
string
Valor Padrão
"389"
Observações
A porta para o servidor LDAP.
Base de Dados
O nome do keyspace Cassandra.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do keyspace do Cassandra que contém as tabelas.
DefaultLDAPUser
O usuário LDAP padrão usado para conectar e se comunicar com o servidor, deve ser definido se o servidor LDAP não permitir ligação anônima.
Tipo de Dados
string
Valor Padrão
""
Observações
Especifique o usuário LDAP padrão caso o servidor LDAP não permita login anônimo.
Senha LDAP
A senha do usuário LDAP padrão. Deve ser definido se o servidor LDAP não permitir ligação anônima.
Tipo de Dados
string
Valor Padrão
""
Observações
Especifique a senha do usuário LDAP padrão.
Base de Pesquisa
A base de pesquisa para seu servidor LDAP, usada para pesquisar usuários.
Tipo de Dados
string
Valor Padrão
""
Observações
A base de pesquisa para seu servidor LDAP, usada para pesquisar usuários.
Filtro de Pesquisa
O filtro de pesquisa para procurar nomes de usuário no LDAP. A configuração padrão é (uid=). Ao usar o Active Directory, defina o filtro como (sAMAccountName=).
Tipo de Dados
string
Valor Padrão
"uid="
Observações
O filtro de pesquisa para procurar nomes de usuário no LDAP. A configuração padrão é (uid=).
Usar SSL
Este campo define se o SSL está ativado.
Tipo de Dados
bool
Valor Padrão
false
Observações
Este campo define se o conector tentará negociar conexões TLS/SSL com o servidor. Por padrão, o conector verifica o certificado do servidor em relação ao armazenamento de certificados confiáveis do sistema. Para especificar outro certificado, defina SSLServerCert.
Kerberos
Esta seção fornece uma lista completa das propriedades do Kerberos que você pode configurar.
Propriedade | Descrição |
---|---|
KerberosKDC | O serviço Kerberos Key Distribution Center (KDC) usado para autenticar o usuário. |
KerberosRealm | O Kerberos Realm usado para autenticar o usuário. |
KerberosSPN | O nome principal do serviço (SPN) para o controlador de domínio Kerberos. |
KerberosKeytabFile | O arquivo Keytab contendo seus pares de principais Kerberos e chaves criptografadas. |
KerberosServiceRealm | A região Kerberos do serviço. |
KerberosServiceKDC | O Kerberos KDC do serviço. |
KerberosTicketCache | O caminho de arquivo completo para um arquivo de cache de credenciais do MIT Kerberos. |
KerberosKDCName
O serviço Kerberos Key Distribution Center (KDC) usado para autenticar o usuário.
Tipo de Dados
string
Valor Padrão
""
Observações
As propriedades Kerberos são usadas ao usar SPNEGO ou Autenticação do Windows. O conector solicitará tíquetes de sessão e chaves de sessão temporárias do serviço Kerberos KDC. O serviço Kerberos KDC é colocado convencionalmente com o controlador de domínio.
Se o Kerberos KDC não for especificado, o conector tentará detectar essas propriedades automaticamente nos seguintes locais:
KRB5 Config File (krb5.ini/krb5.conf):
Se a variável de ambiente KRB5_CONFIG estiver definida e o arquivo existir, o conector obterá o KDC do arquivo especificado. Caso contrário, ele tentará ler a partir do local padrão do MIT com base no sistema operacional: C:\ProgramData\MIT\Kerberos5\krb5.ini (Windows) ou /etc/krb5.conf (Linux)Java System Properties:
Usando as propriedades do sistema java.security.krb5.realm e java.security.krb5.kdc.Domain Name and Host:
O conector inferirá o Kerberos Realm e Kerberos KDC do nome de domínio configurado e do hospedar como último recurso.
Observação: A autenticação do Windows é suportada apenas no JRE 1.6 e superior.
KerberosRealmName
O Kerberos Realm usado para autenticar o usuário.
Tipo de Dados
string
Valor Padrão
""
Observações
As propriedades Kerberos são usadas ao usar SPNEGO ou Autenticação do Windows. O Kerberos Realm é usado para autenticar o usuário com o Kerberos Key Distribution Service (KDC). O Kerberos Realm pode ser configurado por um administrador para ser qualquer string, mas convencionalmente é baseado no nome de domínio.
Se Kerberos Realm não for especificado, o conector tentará detectar essas propriedades automaticamente nos seguintes locais:
KRB5 Config File (krb5.ini/krb5.conf):
Se a variável de ambiente KRB5_CONFIG estiver definida e o arquivo existir, o conector obterá o domínio padrão do arquivo especificado. Caso contrário, ele tentará ler a partir do local padrão do MIT com base no sistema operacional: C:\ProgramData\MIT\Kerberos5\krb5.ini (Windows) ou /etc/krb5.conf (Linux)Java System Properties:
Usando as propriedades do sistema java.security.krb5.realm e java.security.krb5.kdc.Domain Name and Host:
O conector inferirá o Kerberos Realm e o Kerberos KDC do nome de domínio configurado pelo usuário e do hospedar como último recurso. Isso pode funcionar em alguns ambientes Windows.
Observação: A autenticação baseada em Kerberos é suportada apenas no JRE 1.6 e superior.
KerberosSPN
O nome principal do serviço (SPN) para o controlador de domínio Kerberos.
Tipo de Dados
string
Valor Padrão
""
Observações
Se o SPN no controlador de domínio Kerberos não for igual ao URL para o qual você está se autenticando, use esta propriedade para definir o SPN.
KerberosKeytabFile
O arquivo Keytab contendo seus pares de principais Kerberos e chaves criptografadas.
Tipo de Dados
string
Valor Padrão
""
Observações
O arquivo Keytab contendo seus pares de principais Kerberos e chaves criptografadas.
KerberosServiceRealmName
A região Kerberos do serviço.
Tipo de Dados
string
Valor Padrão
""
Observações
O KerberosServiceRealm
é a especificação do domínio Kerberos do serviço ao usar a autenticação Kerberos entre domínios.
Na maioria dos casos, um único domínio e uma máquina KDC são usados para executar a autenticação Kerberos e essa propriedade não é necessária.
Essa propriedade está disponível para configurações complexas em que um domínio e uma máquina KDC diferentes são usados para obter um tíquete de autenticação (solicitação AS) e um tíquete de serviço (solicitação TGS).
KerberosServiceKDC
O Kerberos KDC do serviço.
Tipo de Dados
string
Valor Padrão
""
Observações
O KerberosServiceKDC
é usado para especificar o serviço Kerberos KDC ao usar a autenticação Kerberos cross-realm.
Na maioria dos casos, um único domínio e uma máquina KDC são usados para executar a autenticação Kerberos e essa propriedade não é necessária.
Essa propriedade está disponível para configurações complexas em que um domínio e uma máquina KDC diferentes são usados para obter um tíquete de autenticação (solicitação AS) e um tíquete de serviço (solicitação TGS).
KerberosTicketCache
O caminho de arquivo completo para um arquivo de cache de credenciais do MIT Kerberos.
Tipo de Dados
string
Valor Padrão
""
Observações
Esta propriedade pode ser configurada se você deseja usar um arquivo de cache de credencial que foi criado usando o MIT Kerberos Ticket Manager ou o comando kinit.
SSL
Esta seção fornece uma lista completa de propriedades SSL que você pode configurar.
Propriedade | Descrição |
---|---|
SSLClientCert | O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional). |
SSLClientCertType | O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL. |
SSLClientCertPassword | A senha para o certificado de cliente TLS/SSL. |
SSLClientCertSubject | O assunto do certificado de cliente TLS/SSL. |
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
SSLClientCert
O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional).
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do armazenamento de certificados para o certificado do cliente.
O SSLClientCertType campo especifica o tipo de armazenamento de certificado especificado por SSLClientCert
. Se o armazenamento estiver protegido por senha, especifique a senha em SSLClientCertPassword.
SSLClientCert
é usado em conjunto com o SSLClientCertSubject para especificar os certificados do cliente. Se SSLClientCert
tem um valor e SSLClientCertSubject for definido, uma pesquisa por um certificado será iniciada. Consulte SSLClientCertSubject Para maiores informações.
As designações de armazenamentos de certificados dependem da plataforma.
A seguir estão as designações dos armazenamentos de certificados de Usuário e Máquina mais comuns no Windows:
Propriedade | Descrição |
---|---|
MY | Um armazenamento de certificados que contém certificados pessoais com suas chaves privadas associadas. |
CA | Certificados de autoridade certificadora. |
ROOT | Certificados raiz. |
SPC | Certificados de editor de software. |
Em Java, o armazenamento de certificados normalmente é um arquivo contendo certificados e chaves privadas opcionais.
Quando o tipo de armazenamento de certificado for PFXFile, essa propriedade deverá ser configurada para o nome do arquivo. Quando o tipo é PFXBlob, a propriedade deve ser configurada para o conteúdo binário de um arquivo PFX (por exemplo, armazenamento de certificados PKCS12).
SSLClientCertType
O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL.
Valores Possíveis
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Tipo de Dados
string
Valor Padrão
"USER"
Observações
Esta propriedade pode assumir um dos seguintes valores:
Propriedade | Descrição |
---|---|
USER - default | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de certificados pertencente ao usuário atual. Observe que esse tipo de armazenamento não está disponível em Java. |
MACHINE | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de máquina. Observe que esse tipo de armazenamento não está disponível em Java. |
PFXFILE | O armazenamento de certificados é o nome de um arquivo PFX (PKCS12) que contém certificados. |
PFXBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato PFX (PKCS12). |
JKSFILE | O armazenamento de certificados é o nome de um arquivo de armazenamento de chaves Java (JKS) que contém certificados. Observe que esse tipo de armazenamento está disponível apenas em Java. |
JKSBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato JKS. Observe que esse tipo de armazenamento está disponível apenas em Java. |
PEMKEY_FILE | O armazenamento de certificados é o nome de um arquivo codificado por PEM que contém uma chave privada e um certificado opcional. |
PEMKEY_BLOB | O armazenamento de certificados é uma string (codificada em base64) que contém uma chave privada e um certificado opcional. |
PUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado de chave pública codificado por PEM ou DER. |
PUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém um certificado de chave pública codificado em PEM ou DER. |
SSHPUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave pública de estilo SSH. |
SSHPUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém uma chave pública de estilo SSH. |
P7BFILE | O armazenamento de certificados é o nome de um arquivo PKCS7 contendo certificados. |
PPKFILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave privada PuTTY (PPK). |
XMLFILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado no formato XML. |
XMLBLOB | O armazenamento de certificados é uma string que contém um certificado no formato XML. |
SSLClientCertPassword
A senha para o certificado de cliente TLS/SSL.
Tipo de Dados
string
Valor Padrão
""
Observações
Se o armazenamento de certificados for de um tipo que requer uma senha, essa propriedade será usada para especificar essa senha para abrir o armazenamento de certificados.
SSLClientCertSubject
O assunto do certificado de cliente TLS/SSL.
Tipo de Dados
string
Valor Padrão
"\*"
Observações
Ao carregar um certificado, o assunto é usado para localizar o certificado na loja.
Se uma correspondência exata não for encontrada, a loja é pesquisada em busca de assuntos que contenham o valor da propriedade. Se uma correspondência ainda não for encontrada, a propriedade será definida como uma string vazia e nenhum certificado será selecionado.
O valor especial "*" seleciona o primeiro certificado no armazenamento de certificados.
O assunto do certificado é uma lista separada por vírgulas de campos e valores de nomes distintos. Por exemplo, "CN=www.server.com, OU=test, C=US, E=support@company.com". Os campos comuns e seus significados são mostrados abaixo.
Campo | Significado |
---|---|
CN | Nome comum. Geralmente, é um nome de hospedar como www.server.com. |
O | Organização |
OU | Unidade Organizacional |
L | Localidade |
S | Estado |
C | País |
E | Endereço E-mail |
Se um valor de campo contiver uma vírgula, ela deverá ser colocada entre aspas.
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 Thumbprint MD5 (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.
SSH
Esta seção fornece uma lista completa de propriedades SSH que você pode configurar.
Propriedade | Descrição |
---|---|
SSHAuthMode | O método de autenticação a ser usado para fazer logon em um servidor SFTP. |
SSHClientCert | Um certificado a ser usado para autenticar o usuário. |
SSHClientCertPassword | A senha do certificado SSHClientCert, se houver. |
SSHClientCertSubject | O assunto do certificado do cliente SSH. |
SSHClientCertType | O tipo de certificado SSHClientCert. |
SSHServer | O servidor SSH. |
SSHPort | A porta SSH. |
SSHUser | O usuário SSH. |
SSHPassword | A senha SSH. |
SSHServerFingerprint | A impressão digital do servidor SSH. |
UseSSH | Se deve encapsular a conexão do Cassandra por SSH. Use SSH. |
SSHAuthMode
O método de autenticação a ser usado para fazer logon em um servidor SFTP.
Valores Possíveis
None
, Password
, Public_Key
Tipo de Dados
string
Valor Padrão
"Password"
Observações
- Nenhum: Nenhuma autenticação será realizada. O atual Usuário é ignorado e a conexão será registrada como anônima.
- Senha: O conector usará os valores de Usuário e senha para autenticar o usuário.
- Public_Key: O conector usará os valores de User e SSHClientCert para autenticar o usuário. SSHClientCert deve ter uma chave privada disponível para que esse método de autenticação seja bem-sucedido.
SSHClientCert
Um certificado a ser usado para autenticar o usuário.
Tipo de Dados
string
Valor Padrão
""
Observações
Para usar a autenticação de chave pública, SSHClientCert
deve conter um certificado com uma chave privada válida. O valor da chave pública do certificado é enviado ao servidor junto com uma assinatura produzida usando a chave privada. O servidor verificará primeiro se os valores da chave pública correspondem ao que é conhecido pelo usuário e, em seguida, tentará usar esses valores para verificar a assinatura.
O SSHClientCertType campo especifica o tipo de armazenamento de certificado especificado por SSHClientCert
. Se a loja estiver protegida por senha, especifique a senha em SSHClientCertPassword.
SSHClientCert
é usado em conjunto com o SSHClientCertSubject para especificar os certificados do cliente. Se SSHClientCert
tem um valor e SSHClientCertSubject for definido, uma pesquisa por um certificado será iniciada. Consulte o SSHClientCertSubject para obter detalhes.
As designações de armazenamentos de certificados dependem da plataforma.
A seguir estão as designações dos armazenamentos de certificados de Usuário e Máquina mais comuns no Windows:
Propriedade | Descrição |
---|---|
MY | Um armazenamento de certificados que contém certificados pessoais com suas chaves privadas associadas. |
CA | Certificados de autoridade certificadora. |
ROOT | Certificados raiz. |
SPC | Certificados de editor de software. |
Em Java, o armazenamento de certificados normalmente é um arquivo contendo certificados e chaves privadas opcionais.
Quando o tipo de armazenamento de certificado for PFXFile, essa propriedade deverá ser configurada para o nome do arquivo. Quando o tipo é PFXBlob, a propriedade deve ser configurada para o conteúdo binário de um arquivo PFX (ou seja, armazenamento de certificados PKCS12).
SSHClientCertPassword
A senha do certificado SSHClientCert, se houver.
Tipo de Dados
string
Valor Padrão
""
Observações
Esta propriedade é usada apenas ao autenticar em servidores SFTP com SSHAuthMode definido como PublicKey e SSHClientCert definido como uma chave privada.
SSHClientCertSubject
O assunto do certificado do cliente SSH.
Tipo de Dados
string
Valor Padrão
"\*"
Observações
Ao carregar um certificado, o assunto é usado para localizar o certificado na loja.
Se uma correspondência exata não for encontrada, a loja é pesquisada em busca de assuntos que contenham o valor da propriedade.
Se uma correspondência ainda não for encontrada, a propriedade será definida como uma string vazia e nenhum certificado será selecionado.
O valor especial "*" seleciona o primeiro certificado no armazenamento de certificados.
O assunto do certificado é uma lista separada por vírgulas de campos e valores de nomes distintos. Por exemplo, "CN=www.server.com, OU=test, C=US, E=support@jitterbit.com". Os campos comuns e seus significados são exibidos abaixo.
Campo | Significado |
---|---|
CN | Nome comum. Geralmente, é um nome de hospedar como www.server.com. |
O | Organização |
OU | Unidade Organizacional |
L | Localidade |
S | Estado |
C | País |
E | Endereço E-mail |
Se um valor de campo contiver uma vírgula, ela deverá ser colocada entre aspas.
SSHClientCertType
O tipo de certificado SSHClientCert.
Valores Possíveis
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, P7BBLOB
, SSHPUBLIC_KEY_FILE
, PPKFILE
, PPKBLOB
, XMLFILE
, XMLBLOB
Tipo de Dados
string
Valor Padrão
"PUBLIC_KEY_FILE"
Observações
O tipo de SSHClientCert certificado. Esta propriedade pode assumir um dos seguintes valores:
Propriedade | Descrição |
---|---|
USER | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de certificados pertencente ao usuário atual. Nota: este tipo de loja não está disponível em Java. |
MACHINE | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de máquina. Nota: este tipo de loja não está disponível em Java. |
PFXFILE | O armazenamento de certificados é o nome de um arquivo PFX (PKCS12) que contém certificados. |
PFXBLOB | O armazenamento de certificados é uma string (binária ou codificada em base 64) que representa um armazenamento de certificados no formato PFX (PKCS12). |
JKSFILE | O armazenamento de certificados é o nome de um arquivo Java Key Store (JKS) que contém certificados. Nota: este tipo de loja só está disponível em Java. |
JKSBLOB | O armazenamento de certificados é uma sequência (binária ou codificada em base 64) que representa um armazenamento de certificados no formato Java Key Store (JKS). Nota: este tipo de loja só está disponível em Java. |
PEMKEY_FILE | O armazenamento de certificados é o nome de um arquivo codificado por PEM que contém uma chave privada e um certificado opcional. |
PEMKEY_BLOB | O armazenamento de certificados é uma string (binária ou codificada em base 64) que contém uma chave privada e um certificado opcional. |
PUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado de chave pública codificado por PEM ou DER. |
PUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (binária ou codificada em base 64) que contém um certificado de chave pública codificado por PEM ou DER. |
SSHPUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (binária ou codificada em base 64) que contém uma chave pública de estilo SSH. |
P7BFILE | O armazenamento de certificados é o nome de um arquivo PKCS7 contendo certificados. |
P7BBLOB | O armazenamento de certificados é uma string (binária) que representa um armazenamento de certificados no formato PKCS7. |
SSHPUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave pública de estilo SSH. |
PPKFILE | O armazenamento de certificados é o nome de um arquivo que contém um PPK (PuTTY Private Key). |
PPKBLOB | O armazenamento de certificados é uma string (binária) que contém um PPK (PuTTY Private Key). |
XMLFILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado no formato XML. |
XMLBLOB | O armazenamento de certificados é uma string que contém um certificado no formato XML. |
Servidor SSH
O servidor SSH.
Tipo de Dados
string
Valor Padrão
""
Observações
O servidor SSH.
SSHPort
A porta SSH.
Tipo de Dados
string
Valor Padrão
"22"
Observações
A porta SSH.
Usuário SSH
O usuário SSH.
Tipo de Dados
string
Valor Padrão
""
Observações
O usuário SSH.
Senha SSH
A senha SSH.
Tipo de Dados
string
Valor Padrão
""
Observações
A senha SSH.
Impressão Digital do Servidor SSH
A impressão digital do servidor SSH.
Tipo de Dados
string
Valor Padrão
""
Observações
A impressão digital do servidor SSH.
Usar SSH
Se deve encapsular a conexão do Cassandra por SSH. Use SSH.
Tipo de Dados
bool
Valor Padrão
false
Observações
Por padrão, o conector tentará se conectar diretamente ao Cassandra. Quando esta opção estiver habilitada, o conector estabelecerá uma conexão SSH com o SSHServer e encapsular a conexão para Cassandra por meio dele.
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. |
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%\\\Cassandra 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%\\Cassandra 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 muitos 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 muitos 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.
Diversos
Esta seção fornece uma lista completa de diversas propriedades que você pode configurar.
Propriedade | Descrição |
---|---|
AggregationsSupported | Se deve ou não dar suporte a agregações no servidor Cassandra. Observe que nas consultas ao provedor, você deve usar aspas simples para definir strings. |
AllowFiltering | Quando verdadeiro, as consultas de desempenho lento são processadas no servidor. |
CaseSensitivity | Ative a diferenciação de maiúsculas e minúsculas para o envio do CQL ao servidor; se definido como True, os identificadores no CQL serão colocados entre aspas duplas. |
ConsistencyLevel | O nível de consistência determina quantas réplicas dos dados com os quais você está interagindo precisam responder para que a consultar seja considerada um sucesso. |
FlattenArrays | Por padrão, arrays aninhados são retornados como strings de JSON. A propriedade FlattenArrays pode ser usada para nivelar os elementos de matrizes aninhadas em colunas próprias. Defina FlattenArrays para o número de elementos que você deseja retornar de matrizes aninhadas. |
FlattenObjects | Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, os objetos aninhados em arrays são retornados como strings de JSON. |
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. |
NullToUnset | Use unset em vez de NULL na consultar CQL ao executar operações INSERT. |
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 Cassandra. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
QueryPassthrough | Esta opção passa a consultar para o servidor Cassandra como está. |
RowScanDepth | O número máximo de linhas a serem verificadas para procurar as colunas disponíveis em uma tabela. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
UseJsonFormat | Se deve enviar e retornar a codificação JSON para tipos de dados CQL. |
VarintToString | Mapeie Cassandra VARINT para o valor String. |
Agregações com Suporte
Se deve ou não dar suporte a agregações no servidor Cassandra. Observe que nas consultas ao provedor, você deve usar aspas simples para definir strings.
Tipo de Dados
bool
Valor Padrão
true
Observações
PermitirFiltragem
Quando verdadeiro, as consultas de desempenho lento são processadas no servidor.
Tipo de Dados
bool
Valor Padrão
false
Observações
O Cassandra, por padrão, não permite a filtragem de consultas que ele prevê que terão problemas de desempenho. Essas consultas incluem filtragem em uma coluna que não é a chave primária. Quando SupportEnhancedSQL estiver ativado, o conector analisa as consultas na memória com o mecanismo SQL, em vez de descarregar o processamento da consultar no banco de dados.
Você pode substituir o comportamento padrão e confiar no servidor para processar essas consultas definindo AllowFiltering
para verdadeiro.
Case Sensitivity
Ative a diferenciação de maiúsculas e minúsculas para o envio do CQL ao servidor; se definido como True, os identificadores no CQL serão colocados entre aspas duplas.
Tipo de Dados
bool
Valor Padrão
true
Observações
Por padrão, o SQL não diferencia maiúsculas de minúsculas. No entanto, o Cassandra oferece suporte a nomes de colunas e tabelas que diferenciam maiúsculas de minúsculas. Definir essa propriedade como True permitirá que você recupere tabelas e colunas com base em seus nomes com distinção entre maiúsculas e minúsculas.
Nível de Consistência
O nível de consistência determina quantas réplicas dos dados com os quais você está interagindo precisam responder para que a consultar seja considerada um sucesso.
Valores Possíveis
ONE
, TWO
, THREE
, QUORUM
, ALL
, LOCAL_QUORUM
, EACH_QUORUM
, SERIAL
, LOCAL_SERIAL
, LOCAL_ONE
, ANY
Tipo de Dados
string
Valor Padrão
"ONE"
Observações
O nível de consistência determina quantas réplicas dos dados com os quais você está interagindo precisam responder para que a consultar seja considerada um sucesso. Você precisa especificar as réplicas apropriadas no Servidor propriedade.
Abaixo estão os valores possíveis:
- ANY: Pelo menos uma réplica deve retornar com sucesso em uma operação de gravação. Essa propriedade garante que uma gravação nunca falhe; esse nível de consistência oferece a consistência mais baixa e a disponibilidade mais alta.
- ALL: Todas as réplicas devem responder. Essa propriedade fornece a maior consistência e a menor disponibilidade.
- ONE: Pelo menos uma réplica deve responder. Esse é o padrão e adequado para a maioria dos usuários, que normalmente não exigem alta consistência.
- DOIS: Pelo menos duas réplicas devem responder.
- TRÊS: Pelo menos três réplicas devem responder.
- QUORUM: Um quorum de nodos deve responder. As propriedades QUORUM fornecem alta consistência com alguma tolerância a falhas.
- EACH_QUORUM: Um quorum de nós deve responder onde um quorum é calculado para cada centro de dados. Essa configuração mantém a consistência em cada centro de dados.
- SERIAL: Um quorum de réplicas executa um algoritmo de consenso para permitir transações leves.
- LOCAL_ONE: Pelo menos uma réplica no datacenter local deve responder.
- LOCAL_SERIAL: O algoritmo de consenso é calculado para o centro de dados local.
- LOCAL_QUORUM: Um quorum de nós deve responder onde o quorum é calculado para o datacenter local.
FlattenArrays
Por padrão, arrays aninhados são retornados como strings de JSON. A propriedade FlattenArrays pode ser usada para nivelar os elementos de matrizes aninhadas em colunas próprias. Defina FlattenArrays para o número de elementos que você deseja retornar de matrizes aninhadas.
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. Isso é recomendado apenas para arrays que devem ser curtos.
Definir FlattenArrays
para o número de elementos que você deseja retornar de arrays aninhados. Os elementos especificados são retornados como colunas. O índice baseado em zero é concatenado ao nome da coluna. 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 |
Flatten Objects
Defina FlattenObjects como true para nivelar as propriedades do objeto em colunas próprias. Caso contrário, os objetos aninhados em arrays são retornados como strings de JSON.
Tipo de Dados
bool
Valor Padrão
false
Observações
Definir FlattenObjects
para true para achatar as propriedades do objeto em colunas próprias. Caso contrário, os objetos aninhados em arrays são retornados como strings de JSON. O nome da propriedade é concatenado no nome do objeto com um sublinhado para gerar o nome da coluna.
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 |
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.
NullToUnset
Use unset em vez de NULL na consultar CQL ao executar operações INSERT.
Tipo de Dados
bool
Valor Padrão
false
Observações
No Cassandra 2.2 e superior, ao executar uma consultar INSERT, um valor de parâmetro pode ser definido como não definido. O Cassandra não considera valores de campo não definidos, o que ajuda a evitar tombstones.
Quando valores NULL são inseridos, é possível atingir os limites do limite de desativação, o que faz com que uma exceção seja lançada ao consultar os dados. Definir essa propriedade como true e enviar valores não definidos evita que essas marcas de exclusão sejam criadas.
Observação: esta opção está disponível apenas em operações INSERT, pois o Cassandra não oferece suporte à alteração de valores existentes para não definidos.
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. Os casos de uso e a funcionalidade normais do driver 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 Cassandra.
Tipo de Dados
int
Valor Padrão
5000
Observações
O Pagesize
a propriedade afeta o número máximo de resultados a serem retornados por página do Cassandra. 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, "*=*".
QueryPassthrough
Esta opção passa a consultar para o servidor Cassandra como está.
Tipo de Dados
bool
Valor Padrão
false
Observações
Quando isso é definido, as consultas são passadas diretamente para o Cassandra.
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
100
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.
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.
UseJsonFormat
Se deve enviar e retornar a codificação JSON para tipos de dados CQL.
Tipo de Dados
bool
Valor Padrão
true
Observações
O Cassandra 2.2 introduziu uma extensão CQL que permite codificar tipos de dados CQL em JSON. Por padrão, você usa a sintaxe JSON para manipular dados e as instruções SELECT retornam JSON por meio do conector. Defina essa propriedade como false para usar literais CQL para interagir com os dados do Cassandra.
A sintaxe dos literais CQL tem várias diferenças em relação ao JSON. Por exemplo:
- As strings CQL são definidas entre aspas simples, enquanto as strings JSON são definidas entre aspas duplas.
- Conjuntos, tuplas e listas CQL são codificados em JSON como arrays.
- Tipos definidos pelo usuário e CQL
uuid
os tipos são codificados em JSON como objetos.
Consulte a documentação CQL para obter mais informações sobre como codificar tipos de dados JSON em sua versão do Cassandra. Abaixo está um exemplo de instrução SQL usando JSON e CQL.
Formato | Sintaxe |
---|---|
CQL |
|
Parâmetros | |
usuário_id | frodo |
e-mails | {'f@baggins.com', 'baggins@gmail.com'} |
JSON |
|
Parâmetros | |
usuário_id | frodo |
e-mails | ["f@baggins.com", "baggins@gmail.com"]) |
Observe que em consultas ao conector, você deve usar aspas simples para definir strings.
VarintToString
Mapeie Cassandra VARINT para o valor String.
Tipo de Dados
bool
Valor Padrão
true
Observações
Mapeie Cassandra VARINT para o valor String.