Detalles de Conexión de IBM Cloudant
Introducción
Versión del conector
Esta documentación se basa en la versión 21.0.8383 del conector.
Empezando
Compatibilidad con la versión de Cloudant
El conector aprovecha la API de Cloudant para permitir el acceso bidireccional a los datos de Cloudant a través de SQL estándar. Consulte Asignación de consultas para asignaciones de consultas de SQL a Cloudant y más información sobre el acceso a datos no estructurados en Cloudant a través de SQL.
Establecer una Conexión
Autenticación en Cloudant
Hay dos métodos de autenticación disponibles para conectarse a Cloudant: IBM Cloudant Legacy e IBM Cloud IAM.
Autenticación con IBM Cloudant Legacy
Selecciona el User
y Password
a sus credenciales de servicio.
Para crear una credencial de servicio de IBM Cloudant:
- En el panel de control de IBM Cloud, vaya al icono de menú > Lista de recursos y abra su instancia de servicio de IBM Cloudant.
- En el menú, haga clic en Credenciales de servicio.
- Haga clic en el botón Nueva credencial e ingrese un nombre para la nueva credencial en la ventana Agregar nueva credencial.
- Haga clic en el botón Agregar. Sus credenciales se agregan a la tabla de credenciales de servicio.
- Haga clic en Ver credenciales en Acciones y extraiga el
User
yPassword
del archivo json.
Autenticación a la Instancia Local
Admitimos instancias locales desde la versión 1.1.0 y superior.
Para autenticarse en su instancia local, debe configurar:
URL
a la URL de su instancia local. Por ejemplo:http://localhost:8006
User
a su nombre de usuario.Password
a su Contraseña.
Ajuste Fino del Acceso a los Datos
Ajuste Fino del Acceso a los Datos
Puede usar las siguientes propiedades para obtener control sobre el comportamiento de la columna en Detección automática de esquemas.
RowScanDepth
: esta propiedad determina la cantidad de filas que se escanearán para detectar tipos de datos de columna al generar metadatos de tabla.TypeDetectionScheme
: Esta propiedad permite un mayor control sobre la estrategia implementada por elRowScanDepth
propiedad.
Base de Datos NoSQL
Cloudant es una base de datos de documentos sin esquema que proporciona alto rendimiento, disponibilidad y escalabilidad. Estas características no son necesariamente incompatibles con un lenguaje de consultar compatible con estándares como SQL-92. Las siguientes secciones muestran varios esquemas que ofrece el conector para cerrar la brecha con SQL relacional y una base de datos de documentos.
El conector modela los objetos Cloudant sin esquema en tablas relacionales y traduce las consultas SQL en consultas Cloudant para obtener los datos solicitados. Consulte Asignación de consultas para obtener más detalles sobre cómo se representan varias operaciones de Cloudant como SQL.
El Descubrimiento automático de esquemas encuentra automáticamente los tipos de datos en un objeto Cloudant escaneando un número configurado de filas del objeto. Puedes usar RowScanDepth
, FlattenArrays
, y FlattenObjects
para controlar la representación relacional de las colecciones en Cloudant.
El esquema de la tabla es necesario para reportar metadatos, pero puede escribir Consultas de formato libre no vinculado al esquema para seleccionar, insertar, actualizar o eliminar datos de columnas que no existen en el esquema.
El conector admite el listado de vistas de Cloudant y la recuperación de datos de ellas. Esto está controlado por la propiedad ListViews que se establece en falso de forma predeterminada. Establezca esta propiedad en true para que se muestren las vistas de Cloudant al enumerar las tablas.
Descubrimiento Automático de Esquemas
El conector infiere automáticamente un esquema relacional al inspeccionar una serie de documentos de Cloudant en una colección. Puedes usar el RowScanDepth
propiedad para definir el número de documentos que escaneará el conector para hacerlo. Las columnas identificadas durante el proceso de descubrimiento dependen de FlattenArrays
y FlattenObjects
propiedades.
Aplanar Objetos
Si FlattenObjects
está configurado, todos los objetos anidados se aplanarán en una serie de columnas. Por ejemplo, considere el siguiente 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 estará representado por las siguientes columnas:
Nombre de columna | Tipo de datos | Valor de ejemplo |
---|---|---|
identificación | Entero | 12 |
nombre | Cadena | Lohia Fabricantes Inc. |
dirección.calle | Cadena | Calle principal |
dirección.ciudad | Cadena | Colina de la capilla |
dirección.estado | Cadena | Carolina del Norte |
oficinas | Cadena | ["Chapel Hill", "Londres", "Nueva York"] |
ingresos_anuales | Doble | 35, 600, 000 |
Si FlattenObjects
no está configurado, las columnas dirección.calle, dirección.ciudad y dirección.estado no se dividirán. En cambio, la columna de dirección de tipo cadena representará el objeto completo. su valor seria {street: "Main Street", city: "Chapel Hill", state: "NC"}
. Vea Funciones JSON para obtener más detalles sobre cómo trabajar con agregados JSON. Puede cambiar el carácter separador en el nombre de la columna de un punto configurando SeparatorCharacter
.
Aplanamiento de Matrices
El FlattenArrays
La propiedad se puede usar para aplanar valores de matriz en columnas propias. Esto solo se recomienda para matrices que se espera que sean cortas, por ejemplo, las siguientes coordenadas:
"coord": [-73.856077, 40.848447 ]
El FlattenArrays
la propiedad se puede establecer en 2 para representar la matriz anterior de la siguiente manera:
Nombre de columna | Tipo de datos | Valor de ejemplo |
---|---|---|
coord.0 | Flotador | -73.856077 |
coord.1 | Flotador | 40.848447 |
Es mejor dejar otras matrices ilimitadas como están y dividir los datos según sea necesario usando Funciones JSON.
Consultas de Formato Libre
Como se explica en Descubrimiento automático de esquemas, los esquemas de tabla intuitivos permiten el acceso de SQL a datos de Cloudant no estructurados. Funciones JSON le permiten utilizar funciones JSON estándar para resumir datos de Cloudant y extraer valores de cualquier estructura anidada. Sin embargo, no está limitado a estos esquemas.
Después de conectarse, puede consultar cualquier estructura anidada sin aplanar los datos. Cualquier relación a la que pueda acceder con FlattenArrays
y FlattenObjects
también se puede acceder con una consultar SQL ad hoc.
Consideremos un documento de ejemplo del siguiente conjunto de datos de 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"
}
Puede acceder a cualquier estructura anidada en este documento como una columna. Utilice la notación de puntos para desglosar los valores a los que desea acceder, como se muestra en la consultar a continuación. Tenga en cuenta que las matrices tienen un índice basado en cero. Por ejemplo, la siguiente consultar recupera la segunda calificación del restaurante del ejemplo:
SELECT [address.building], [grados.1.grado] FROM restaurants WHERE restaurant_id = '30075445'
La consultar anterior devuelve los siguientes resultados:
Nombre de columna | Tipo de datos | Valor de ejemplo |
---|---|---|
dirección.edificio | Cadena | 1007 |
calificaciones.1.grado | Cadena | un |
Aplanamiento Vertical
Es posible recuperar una matriz de documentos como si fuera una tabla separada. Tome la siguiente estructura JSON de la colección de restaurantes, por ejemplo:
{
"_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"
}
El aplanamiento vertical le permitirá recuperar la matriz de calificaciones como una tabla separada:
SELECT * FROM [restaurants.grades]
Esta consultar devuelve el siguiente conjunto de datos:
fecha | grado | puntuación | P_id | _índice |
---|---|---|---|---|
2014-03-03T00:00:00.000Z | un | 2 | 568c37b748ddf53c5ed98932 | 1 |
2013-09-11T00:00:00.000Z | un | 6 | 568c37b748ddf53c5ed98932 | 2 |
2013-01-24T00:00:00.000Z | un | 10 | 568c37b748ddf53c5ed98932 | 3 |
También puede incluir información de la tabla de restaurantes base. Puedes hacer esto con una unión. Las matrices planas solo se pueden unir con el documento raíz. El conector espera que la parte izquierda de la unión sea el documento de matriz que desea aplanar verticalmente. Desactivar SupportEnhancedSQL
para unir documentos de Cloudant anidados: este tipo de consultar se admite a través de la API de Cloudant.
SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM [restaurantes.grados] JOIN [restaurantes] WHERE [restaurants].name = 'Morris Park Bake Shop'
Esta consultar devuelve el siguiente conjunto de datos:
id_restaurante | fecha | grado | puntuación | P_id | _índice |
---|---|---|---|---|---|
30075445 | 2014-03-03T00:00:00.000Z | un | 2 | 568c37b748ddf53c5ed98932 | 1 |
30075445 | 2013-09-11T00:00:00.000Z | un | 6 | 568c37b748ddf53c5ed98932 | 2 |
30075445 | 2013-01-24T00:00:00.000Z | un | 10 | 568c37b748ddf53c5ed98932 | 3 |
30075445 | 2011-11-23T00:00:00.000Z | un | 9 | 568c37b748ddf53c5ed98932 | 4 |
30075445 | 2011-03-10T00:00:00.000Z | B | 14 | 568c37b748ddf53c5ed98932 | 5 |
Funciones JSON
El conector puede devolver estructuras JSON como valores de columna. El conector le permite utilizar funciones SQL estándar para trabajar con estas estructuras JSON. Los ejemplos de esta sección utilizan la siguiente matriz:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
JSON_EXTRACT
La función JSON_EXTRACT puede extraer valores individuales de un objeto JSON. La siguiente consultar devuelve los valores que se muestran a continuación en función de la ruta JSON pasada como segundo argumento de la función:
SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Nombre de columna | Valor de ejemplo |
---|---|
Grade | un |
Score | 2 |
JSON_COUNT
La función JSON_COUNT devuelve la cantidad de elementos en una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve la cantidad de elementos especificados por la ruta JSON pasada como segundo argumento a la función:
SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Nombre de columna | Valor de ejemplo |
---|---|
NumberOfGrades | 5 |
JSON_SUM
La función JSON_SUM devuelve la suma de los valores numéricos de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el total de los valores especificados por la ruta JSON pasada como segundo argumento a la función:
SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Nombre de columna | Valor de ejemplo |
---|---|
TotalScore | 41 |
JSON_MIN
La función JSON_MIN devuelve el valor numérico más bajo de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor mínimo especificado por la ruta JSON pasada como segundo argumento a la función:
SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Nombre de columna | Valor de ejemplo |
---|---|
LowestScore | 2 |
JSON_MAX
La función JSON_MAX devuelve el valor numérico más alto de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor máximo especificado por la ruta JSON pasada como segundo argumento a la función:
SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Nombre de columna | Valor de ejemplo |
---|---|
HighestScore | 14 |
DOCUMENTO
La función DOCUMENTO se puede utilizar para recuperar el documento completo como una cadena JSON. Vea la siguiente consultar y su resultado como un ejemplo:
SELECT DOCUMENT(*) FROM Customers;
La consultar anterior devolverá el documento completo como se muestra.
{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices": ["Chapel Hill", "Londres", "Nueva York" ], "annual_revenue": 35,600,000 }
Asignación de Consultas
El conector asigna consultas SQL a las consultas de Cloudant correspondientes. El conector usa la sintaxis Selector para calcular los resultados deseados.
Una descripción detallada de todas las transformaciones está fuera del alcance, pero describiremos algunos de los elementos comunes que se utilizan.
SELECCIONAR Consultas
La instrucción SELECT se asigna a los métodos GET y POST. A continuación se muestran consultas de ejemplo y las cargas útiles de solicitud correspondientes.
SQL Query | Cloudant Query |
---|---|
| Para esta consultar, se envía una solicitud GET al extremo /_all_docs. |
|
|
|
|
|
|
|
|
|
|
|
|
INSERTAR Declaraciones
La instrucción INSERT se asigna a la solicitud HTTP POST, como se muestra en la siguiente carga útil de consultar y solicitud.
Consulta SQL
INSERT INTO users(_id, age, status, [dirección.ciudad], [address.postalcode])
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)
Consulta Cloudant
{
"address": {
"city": "Chapel Hill",
"postalcode": 27517
},
"_id": "bcd001",
"age": 45,
"status": "A"
}
ACTUALIZAR Declaraciones
La instrucción UPDATE se asigna al método PUT de HTTP, como se muestra en la siguiente carga útil de consultar y solicitud.
Consulta SQL
UPDATE users
SET status = 'C', [dirección.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 Declaraciones
La declaración DELETE se asigna al método DELETE como se muestra a continuación.
Consulta SQL
DELETE FROM users WHERE _id = 'bcd001'
Consulta Cloudant
Para esta consultar se envía una solicitud DELETE al `users/{_id}?rev={_re} extremo
Tablas del Sistema
Puede consultar las tablas del sistema que se describen en esta sección para acceder a la información del esquema, la información sobre la funcionalidad del origen de datos y las estadísticas de operación lote.
Tablas de Esquema
Las siguientes tablas devuelven metadatos de la base de datos para Cloudant:
- sys_catalogs: enumera las bases de datos disponibles.
- sys_schemas: enumera los esquemas disponibles.
- sys_tablas: enumera las tablas y vistas disponibles.
- sys_tablecolumns: Describe las columnas de las tablas y vistas disponibles.
- procedimientos_sys: describe los procedimientos almacenados disponibles.
- parámetros_procedimiento_sys: Describe procedimiento almacenado* parámetros.
- sys_keycolumns: describe las claves principal y externa.
- índices_sys: Describe los índices disponibles.
Tablas de Fuentes de Datos
Las siguientes tablas devuelven información sobre cómo conectarse y consultar la fuente de datos:
- sys_connection_props: Devuelve información sobre las propiedades de conexión disponibles.
- sys_sqlinfo: describe las consultas SELECT que el conector puede descargar al origen de datos.
Tablas de Información de Consultas
La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos:
- identidad_sys: devuelve información sobre operaciones lote o actualizaciones individuales.
Sys_catalogs
Enumera las bases de datos disponibles.
La siguiente consultar recupera todas las bases de datos determinadas por la cadena de conexión:
SELECT * FROM sys_catalogs
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos. |
Sys_schemas
Enumera los esquemas disponibles.
La siguiente consultar recupera todos los esquemas disponibles:
SELECT * FROM sys_schemas
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos. |
SchemaName | String | El nombre del esquema. |
Sys_tables
Enumera las tablas disponibles.
La siguiente consultar recupera las tablas y vistas disponibles:
SELECT * FROM sys_tables
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | La base de datos que contiene la tabla o vista. |
SchemaName | String | El esquema que contiene la tabla o vista. |
TableName | String | El nombre de la tabla o vista. |
TableType | String | El tipo de tabla (tabla o vista). |
Description | String | Una descripción de la tabla o vista. |
IsUpdateable | Boolean | Si la tabla se puede actualizar. |
Sys_tablecolumns
Describe las columnas de las tablas y vistas disponibles.
La siguiente consultar devuelve las columnas y los tipos de datos de la tabla Películas:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Movies'
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos que contiene la tabla o vista. |
SchemaName | String | El esquema que contiene la tabla o vista. |
TableName | String | El nombre de la tabla o vista que contiene la columna. |
ColumnName | String | El nombre de la columna. |
DataTypeName | String | El nombre del tipo de datos. |
DataType | Int32 | Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente. |
Length | Int32 | El tamaño de almacenamiento de la columna. |
DisplaySize | Int32 | El ancho máximo normal de la columna designada en caracteres. |
NumericPrecision | Int32 | El número máximo de dígitos en datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora. |
NumericScale | Int32 | La escala de columna o número de dígitos a la derecha del punto decimal. |
IsNullable | Boolean | Si la columna puede contener nulo. |
Description | String | Una breve descripción de la columna. |
Ordinal | Int32 | El número de secuencia de la columna. |
IsAutoIncrement | String | Si el valor de la columna se asigna en incrementos fijos. |
IsGeneratedColumn | String | Si se genera la columna. |
IsHidden | Boolean | Si la columna está oculta. |
IsArray | Boolean | Si la columna es una matriz. |
Sys_procedimientos
Enumera los procedimientos almacenados disponibles.
La siguiente consultar recupera los procedimientos almacenados disponibles:
SELECT * FROM sys_procedures
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | La base de datos que contiene el procedimiento almacenado. |
SchemaName | String | El esquema que contiene el procedimiento almacenado. |
ProcedureName | String | El nombre del procedimiento almacenado. |
Description | String | Una descripción del procedimiento almacenado. |
ProcedureType | String | El tipo de procedimiento, como PROCEDIMIENTO o FUNCIÓN. |
Sys_procedureparameters
Describe procedimiento almacenado* parámetros.
La siguiente consultar devuelve información sobre todos los parámetros de entrada para el procedimiento almacenado SelectEntries:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos que contiene el procedimiento almacenado. |
SchemaName | String | El nombre del esquema que contiene el procedimiento almacenado. |
ProcedureName | String | El nombre del procedimiento almacenado* que contiene el parámetro. |
ColumnName | String | El nombre del procedimiento almacenado* parámetro. |
Direction | Int32 | Un número entero correspondiente al tipo de parámetro: entrada (1), entrada/salida (2) o salida (4). Los parámetros de tipo de entrada/salida pueden ser tanto parámetros de entrada como de salida. |
DataTypeName | String | El nombre del tipo de datos. |
DataType | Int32 | Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente. |
Length | Int32 | El número de caracteres permitidos para los datos de caracteres. El número de dígitos permitidos para datos numéricos. |
NumericPrecision | Int32 | La máxima precisión para datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora. |
NumericScale | Int32 | El número de dígitos a la derecha del punto decimal en datos numéricos. |
IsNullable | Boolean | Si el parámetro puede contener nulo. |
IsRequired | Boolean | Si el parámetro es necesario para la ejecución del procedimiento. |
IsArray | Boolean | Si el parámetro es una matriz. |
Description | String | La descripción del parámetro. |
Ordinal | Int32 | El índice del parámetro. |
Sys_keycolumns
Describe las claves primarias y foráneas. La siguiente consultar recupera la clave principal de la tabla Películas:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Movies'
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos que contiene la clave. |
SchemaName | String | El nombre del esquema que contiene la clave. |
TableName | String | El nombre de la tabla que contiene la clave. |
ColumnName | String | El nombre de la columna clave. |
IsKey | Boolean | Si la columna es una clave principal en la tabla a la que se hace referencia en el campo TableName. |
IsForeignKey | Boolean | Si la columna es una clave externa a la que se hace referencia en el campo TableName. |
PrimaryKeyName | String | El nombre de la clave principal. |
ForeignKeyName | String | El nombre de la clave foránea. |
ReferencedCatalogName | String | La base de datos que contiene la clave principal. |
ReferencedSchemaName | String | El esquema que contiene la clave principal. |
ReferencedTableName | String | La tabla que contiene la clave principal. |
ReferencedColumnName | String | El nombre de la columna de la clave principal. |
Sys_foreignkeys
Describe las claves foráneas. La siguiente consultar recupera todas las claves foráneas que hacen referencia a otras tablas:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos que contiene la clave. |
SchemaName | String | El nombre del esquema que contiene la clave. |
TableName | String | El nombre de la tabla que contiene la clave. |
ColumnName | String | El nombre de la columna clave. |
PrimaryKeyName | String | El nombre de la clave principal. |
ForeignKeyName | String | El nombre de la clave foránea. |
ReferencedCatalogName | String | La base de datos que contiene la clave principal. |
ReferencedSchemaName | String | El esquema que contiene la clave principal. |
ReferencedTableName | String | La tabla que contiene la clave principal. |
ReferencedColumnName | String | El nombre de la columna de la clave principal. |
ForeignKeyType | String | Designa si la clave externa es una clave de importación (apunta a otras tablas) o de exportación (hace referencia desde otras tablas). |
Sys_indexes
Describe los índices disponibles. Al filtrar en los índices, puede escribir consultas más selectivas con tiempos de respuesta de consultar más rápidos.
La siguiente consultar recupera todos los índices que no son claves principales:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columnas
Nombre | Tipo | Descripción |
---|---|---|
CatalogName | String | El nombre de la base de datos que contiene el índice. |
SchemaName | String | El nombre del esquema que contiene el índice. |
TableName | String | El nombre de la tabla que contiene el índice. |
IndexName | String | El nombre del índice. |
ColumnName | String | El nombre de la columna asociada con el índice. |
IsUnique | Boolean | True si el índice es único. Falso en caso contrario. |
IsPrimary | Boolean | True si el índice es una clave principal. Falso en caso contrario. |
Type | Int16 | Un valor entero correspondiente al tipo de índice: estadística (0), agrupado (1), hash (2) u otro (3). |
SortOrder | String | El orden de clasificación: A para ascender o D para descender. |
OrdinalPosition | Int16 | El número de secuencia de la columna en el índice. |
Sys_connection_props
Devuelve información sobre las propiedades de conexión disponibles y las establecidas en la cadena de conexión.
Al consultar esta tabla, se debe usar la cadena de conexión de configuración:
jdbc:cdata:cloudant:config:
Esta cadena de conexión le permite consultar esta tabla sin una conexión válida.
La siguiente consultar recupera todas las propiedades de conexión que se han establecido en la cadena de conexión o se han establecido a través de un valor predeterminado:
SELECT * FROM sys_connection_props WHERE Value <> ''
Columnas
Nombre | Tipo | Descripción |
---|---|---|
Name | String | El nombre de la propiedad de conexión. |
ShortDescription | String | Una breve descripción. |
Type | String | El tipo de datos de la propiedad de conexión. |
Default | String | El valor predeterminado si no se establece uno explícitamente. |
Values | String | Una lista separada por comas de valores posibles. Se lanza un error de validación si se especifica otro valor. |
Value | String | El valor que establezca o un valor predeterminado preconfigurado. |
Required | Boolean | Si la propiedad es necesaria para conectarse. |
Category | String | La categoría de la propiedad de conexión. |
IsSessionProperty | String | Si la propiedad es una propiedad de sesión, utilizada para guardar información sobre la conexión actual. |
Sensitivity | String | El nivel de sensibilidad de la propiedad. Esto informa si la propiedad está ofuscada en los formularios de registro y autenticación. |
PropertyName | String | Una forma truncada en mayúsculas y minúsculas del nombre de la propiedad de conexión. |
Ordinal | Int32 | El índice del parámetro. |
CatOrdinal | Int32 | El índice de la categoría de parámetro. |
Hierarchy | String | Muestra las propiedades dependientes asociadas que deben configurarse junto con esta. |
Visible | Boolean | Informa si la propiedad está visible en la interfaz de usuario de la conexión. |
ETC | String | Diversa información miscelánea sobre la propiedad. |
Sys_sqlinfo
Describe el procesamiento de consultar SELECT que el conector puede descargar al origen de datos.
Procesamiento Colaborativo de Consultas
Al trabajar con fuentes de datos que no admiten SQL-92, puede consultar la vista sys_sqlinfo para determinar las capacidades de consultar de las APIs subyacentes, expresadas en sintaxis SQL. El conector descarga la mayor cantidad posible del procesamiento de sentencias SELECT al servidor y luego procesa el resto de la consultar en la memoria.
Descubrimiento de las Capacidades SELECT de la Fuente de Datos
A continuación se muestra un conjunto de datos de ejemplo de las capacidades de SQL. El siguiente conjunto de resultados indica la funcionalidad SELECT que el conector puede descargar en el origen de datos o en el lado del cliente del proceso. Su fuente de datos puede admitir sintaxis SQL adicional. Algunos aspectos de la funcionalidad SELECT se devuelven en una lista separada por comas si es compatible; de lo contrario, la columna contiene NO.
Nombre | Descripción | Valores posibles |
---|---|---|
AGGREGATE_FUNCTIONS | Funciones de agregación admitidas. | AVG , COUNT , MAX , MIN , SUM , DISTINCT |
COUNT | Si se admite la función COUNT. | YES , NO |
IDENTIFIER_QUOTE_OPEN_CHAR | El carácter de apertura utilizado para escapar de un identificador. | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | El carácter de cierre utilizado para escapar de un identificador. | ] |
SUPPORTED_OPERATORS | Una lista de operadores de SQL admitidos. | = , > , < , >= , <= , <> , != , LIKE , NOT LIKE , IN , NOT IN , IS NULL , IS NOT NULL , AND , OR |
GROUP_BY | Si se admite GROUP BY y, de ser así, el grado de compatibilidad. | NO , NO_RELATION , EQUALS_SELECT , SQL_GB_COLLATE |
STRING_FUNCTIONS | Funciones de cadena admitidas. | 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 | Funciones numéricas compatibles. | 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 | Funciones de fecha/hora admitidas. | 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 tablas omitidas durante la replicación. | |
REPLICATION_TIMECHECK_COLUMNS | Una matriz de cadenas que contiene una lista de columnas que se usarán para verificar (en el orden dado) para usar como una columna modificada durante la replicación. | |
IDENTIFIER_PATTERN | Valor de cadena que indica qué cadena es válida para un identificador. | |
SUPPORT_TRANSACTION | Indica si el proveedor admite transacciones como compromiso y reversión. | YES , NO |
DIALECT | Indica el dialecto SQL a usar. | |
KEY_PROPERTIES | Indica las propiedades que identifican la base de datos uniforme. | |
SUPPORTS_MULTIPLE_SCHEMAS | Indica si pueden existir varios esquemas para el proveedor. | YES , NO |
SUPPORTS_MULTIPLE_CATALOGS | Indica si pueden existir varios catálogos para el proveedor. | YES , NO |
DATASYNCVERSION | La versión de sincronización de datos necesaria para acceder a este controlador. | Standard , Starter , Professional , Enterprise |
DATASYNCCATEGORY | La categoría Sincronización de datos de este controlador. | Source , Destination , Cloud Destination |
SUPPORTSENHANCEDSQL | Si se admite la funcionalidad de SQL mejorada más allá de lo que ofrece la API. | TRUE , FALSE |
SUPPORTS_BATCH_OPERATIONS | Si se admiten las operaciones lote. | YES , NO |
SQL_CAP | Todas las funciones de SQL admitidas para este controlador. | 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 | Un valor de cadena especifica las cacheOptions preferidas. | |
ENABLE_EF_ADVANCED_QUERY | Indica si el controlador admite directamente consultas avanzadas provenientes de Entity Framework. De lo contrario, las consultas se manejarán del lado del cliente. | YES , NO |
PSEUDO_COLUMNS | Una matriz de cadenas que indica las pseudocolumnas disponibles. | |
MERGE_ALWAYS | Si el valor es verdadero, el modo de combinación se ejecuta a la fuerza en la sincronización de datos. | TRUE , FALSE |
REPLICATION_MIN_DATE_QUERY | Una consultar de selección para devolver la fecha y hora de inicio de la réplica. | |
REPLICATION_MIN_FUNCTION | Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un min del lado del servidor. | |
REPLICATION_START_DATE | Permite que un proveedor especifique una fecha de inicio de réplica. | |
REPLICATION_MAX_DATE_QUERY | Una consultar de selección para devolver la fecha y hora de finalización de la réplica. | |
REPLICATION_MAX_FUNCTION | Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un máx. del lado del servidor. | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | Una lista de tablas que omitirán dividir la réplica en fragmentos en la réplica inicial. | |
CHECKCACHE_USE_PARENTID | Indica si la instrucción CheckCache debe realizarse en la columna de clave principal. | TRUE , FALSE |
CREATE_SCHEMA_PROCEDURES | Indica procedimientos almacenados* que se puede utilizar para generar archivos de esquema. |
La siguiente consultar recupera los operadores que se pueden usar en la cláusula WHERE:
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'
Tenga en cuenta que las tablas individuales pueden tener diferentes limitaciones o requisitos en la cláusula WHERE; consulte la Base de datos NoSQL para obtener más información.
Columnas
Nombre | Tipo | Descripción |
---|---|---|
NAME | String | Un componente de la sintaxis SQL o una capacidad que se puede procesar en el servidor. |
VALUE | String | Detalles sobre el SQL o la sintaxis de SQL admitidos. |
Sys_identidad
Devuelve información sobre los intentos de modificación.
La siguiente consultar recupera los Id. de las filas modificadas en una operación lote:
SELECT * FROM sys_identity
Columnas
Nombre | Tipo | Descripción |
---|---|---|
Id | String | El ID generado por la base de datos devuelto de una operación de modificación de datos. |
Batch | String | Un identificador para el lote. 1 para una sola operación. |
Operation | String | El resultado de la operación en el lote: INSERTADO, ACTUALIZADO o ELIMINADO. |
Message | String | ÉXITO o un mensaje de error si falla la actualización en el lote. |
Procedimientos Almacenados
Procedimientos almacenados* están disponibles para complementar los datos disponibles de la Base de datos NoSQL. Puede ser necesario actualizar los datos disponibles desde una vista usando un procedimiento almacenado* porque los datos no proporcionan actualizaciones bidireccionales directas, similares a tablas. En estas situaciones, la recuperación de los datos se realiza utilizando la vista o tabla adecuada, mientras que la actualización se realiza llamando a un procedimiento almacenado. Procedimientos almacenados* toman una lista de parámetros y devuelven un conjunto de datos que contiene la colección de tuplas que constituyen la respuesta.
Conector Jitterbit para Procedimientos Almacenados de Cloudant
Nombre | Descripción |
---|---|
CreateSchema | Crea una definición de esquema de una tabla en Cloudant. Controle el descubrimiento de columnas con FlattenObjects, FlattenArrays, TypeDetectionScheme y RowScanDepth. |
GetOAuthAccessToken | Obtiene un token de autenticación de IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado. |
RefreshOAuthAccessToken | Actualiza el token de acceso de OAuth utilizado para la autenticación con IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado. |
CrearEsquema
Crea una definición de esquema de una tabla en Cloudant. Controle el descubrimiento de columnas con FlattenObjects, FlattenArrays, TypeDetectionScheme y RowScanDepth.
Aporte
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
TableName | String | Cierto | El nombre de las mesa. |
FileName | String | Falso | La ruta completa del archivo y el nombre del esquema que se va a generar, obligatorio si no se establece la propiedad de conexión de ubicación. Ej: 'C:\Users\User\Desktop\Cloudant\sheet.rsd' |
SimplifyNames | String | Falso | Ya sea para generar nombres simples para las columnas o no. El valor predeterminado es simplificar. |
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
Result | String | Si el esquema se descargó correctamente o no. |
Obtener Token de Acceso de OAuth
Obtiene un token de autenticación de IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
OAuthAccessToken | String | El token de acceso utilizado para la comunicación con IBM Cloud. |
OAuthRefreshToken | String | El token de actualización de OAuth. Es lo mismo que el token de acceso en el caso de IBM Cloud. |
ExpiresIn | String | El tiempo de vida restante en el token de acceso. Un -1 indica que no caducará. |
RefreshOAuthAccessToken
Actualiza el token de acceso de OAuth utilizado para la autenticación con IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.
Aporte
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
OAuthRefreshToken | String | Cierto | El token de actualización devuelto del intercambio de código de autorización original. |
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
OAuthAccessToken | String | El token de autenticación devuelto por IBM Cloud. Esto se puede usar en llamadas posteriores a otras operaciones para este servicio en particular. |
OAuthRefreshToken | String | Un token que puede usarse para obtener un nuevo token de acceso. |
ExpiresIn | String | El tiempo de vida restante en el token de acceso. |
Características Avanzadas
Esta sección detalla una selección de funciones avanzadas del conector Cloudant.
Vistas definidas por el usuario
El conector le permite definir tablas virtuales, llamadas vistas definidas por el usuario, cuyo contenido se decide mediante una consultar preconfigurada. Estas vistas son útiles cuando no puede controlar directamente las consultas que se envían a los controladores. Consulte Vistas definidas por el usuario para obtener una descripción general de la creación y configuración de vistas personalizadas.
Configuración SSL
Usar Configuración SSL para ajustar cómo el conector maneja las negociaciones de certificados TLS/SSL. Puede elegir entre varios formatos de certificado; ver el SSLServerCert
propiedad en "Opciones de cadena de conexión" para obtener más información.
Apoderado
Para configurar el conector mediante Configuración de proxy de Agente Privado, Selecciona el Use Proxy Settings
casilla de verificación en la pantalla de configuración de la conexión.
Vistas Definidas por el Usuario
Jitterbit Connector for Cloudant le permite definir una tabla virtual cuyos contenidos se deciden mediante una consultar preconfigurada. Estas se denominan Vistas definidas por el usuario, que son útiles en situaciones en las que no puede controlar directamente la consultar que se envía al controlador, por ejemplo, cuando se utiliza el controlador de Jitterbit. Las vistas definidas por el usuario se pueden utilizar para definir predicados que siempre se aplican. Si especifica predicados adicionales en la consultar a la vista, se combinan con la consultar ya definida como parte de la vista.
Hay dos formas de crear vistas definidas por el usuario:
- Cree un archivo de configuración con formato JSON que defina las vistas que desea.
- Declaraciones DDL.
Definición de Vistas Utilizando un Archivo de Configuración
Las vistas definidas por el usuario se definen en un archivo de configuración con formato JSON llamado UserDefinedViews.json
. El conector detecta automáticamente las vistas especificadas en este archivo.
También puede tener múltiples definiciones de vista y controlarlas usando UserDefinedViews
propiedad de conexión. Cuando utiliza esta propiedad, el conector solo ve las vistas especificadas.
Este archivo de configuración de vista definida por el usuario tiene el siguiente formato:
- Cada elemento raíz define el nombre de una vista.
- Cada elemento raíz contiene un elemento hijo, llamado
query
, que contiene la consultar SQL personalizada para la vista.
Por ejemplo:
{
"MyView": {
"query": "SELECT * FROM Movies WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Utilizar el UserDefinedViews
propiedad de conexión para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Esquema para Vistas Definidas por el Usuario
Las vistas definidas por el usuario se exponen en UserViews
esquema por defecto. Esto se hace para evitar que el nombre de la vista entre en conflicto con una entidad real en el modelo de datos. Puede cambiar el nombre del esquema utilizado para UserViews configurando UserViewsSchemaName
propiedad.
Trabajar con Vistas Definidas por el Usuario
Por ejemplo, una instrucción SQL con una vista definida por el usuario llamada UserViews.RCustomers
solo enumera clientes en Raleigh:
SELECT * FROM Customers WHERE City = 'Raleigh';
Un ejemplo de una consultar al controlador:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Dando como resultado la consultar efectiva a la fuente:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
Ese es un ejemplo muy simple de una consultar a una vista definida por el usuario que es efectivamente una combinación de la consultar de vista y la definición de vista. Es posible componer estas consultas en patrones mucho más complejos. Todas las operaciones de SQL están permitidas en ambas consultas y se combinan cuando corresponde.
Configuración SSL
Personalización de la Configuración SSL
De forma predeterminada, el conector intenta negociar SSL/TLS comparando el certificado del servidor con el almacén de certificados de confianza del sistema.
Para especificar otro certificado, consulte SSLServerCert
propiedad de los formatos disponibles para hacerlo.
Propiedades de Configuraciones Avanzadas
Las propiedades de configuraciones avanzadas son las diversas opciones que se pueden utilizar para establecer una conexión. Esta sección proporciona una lista completa de las opciones que puede configurar. Haga clic en los enlaces para obtener más detalles.
Propiedad | Descripción |
---|---|
AuthScheme | El tipo de autenticación que se utilizará al conectarse a Cloudant. |
URL | La URL utilizada para conectarse a Cloudant. |
User | La cuenta de usuario de Cloudant utilizada para la autenticación. |
Password | La contraseña utilizada para autenticar al usuario. |
ApiKey | La clave de API utilizada para identificar al usuario en IBM Cloud. |
Propiedad | Descripción |
---|---|
InitiateOAuth | Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte. |
OAuthRefreshToken | El token de actualización de OAuth para el token de acceso de OAuth correspondiente. |
OAuthExpiresIn | La vida útil en segundos del AccessToken de OAuth. |
OAuthTokenTimestamp | La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual. |
Propiedad | Descripción |
---|---|
SSLServerCert | El certificado que se aceptará del servidor al conectarse mediante TLS/SSL. |
Propiedad | Descripción |
---|---|
Location | Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados. |
BrowsableSchemas | Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC. |
Views | Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC. |
ListViews | Ya sea para enumerar las vistas de Cloudant o no. |
Propiedad | Descripción |
---|---|
FlattenArrays | Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON. |
FlattenObjects | Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin procesar. |
FlexibleSchema | Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos. |
MaxRows | Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño. |
Other | Estas propiedades ocultas se usan solo en casos de uso específicos. |
Pagesize | El número máximo de resultados a devolver por página de Cloudant. |
PseudoColumns | Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla. |
RowScanDepth | El número máximo de filas para escanear para buscar las columnas disponibles en una tabla. |
SeparatorCharacter | El carácter o caracteres utilizados para denotar jerarquía. |
Timeout | El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación. |
TypeDetectionScheme | Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos. |
Autenticación
Esta sección proporciona una lista completa de las propiedades de autenticación que puede configurar.
Propiedad | Descripción |
---|---|
AuthScheme | El tipo de autenticación que se utilizará al conectarse a Cloudant. |
URL | La URL utilizada para conectarse a Cloudant. |
User | La cuenta de usuario de Cloudant utilizada para la autenticación. |
Password | La contraseña utilizada para autenticar al usuario. |
ApiKey | La clave de API utilizada para identificar al usuario en IBM Cloud. |
AuthScheme
El tipo de autenticación que se utilizará al conectarse a Cloudant.
Valores Posibles
Auto
, Basic
, OAuth
Tipo de Datos
string
Valor por Defecto
"Auto"
Observaciones
- Automático: permite que el controlador decida automáticamente según las otras propiedades de conexión que haya establecido.
- Básico: configure esto para usar la autenticación de usuario/contraseña BÁSICA.
- OAuth: configure esto para realizar la autenticación OAuth. Para este método, necesitará la APIKey y la URL de la instancia de Cloudant.
URL
La URL utilizada para conectarse a Cloudant.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
La URL HTTP o HTTPS utilizada para conectarse a Cloudant en el formato https://{instance id}-bluemix.cloudantnosqldb.appdomain.cloud
o en el caso de un servidor de alojamiento propio http[s]://{servidor}:{puerto}
Usuario
La cuenta de usuario de Cloudant utilizada para la autenticación.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Junto con Contraseña, este campo se utiliza para autenticarse en el servidor Cloudant.
Contraseña
La contraseña utilizada para autenticar al usuario.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El usuario y Password
se usan juntos para autenticarse con el servidor.
Clave API
La clave de API utilizada para identificar al usuario en IBM Cloud.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El acceso a los recursos en la API REST de Cloudant se rige por una clave de API para recuperar el token. Una clave de API creada al navegar a Administrar --> Acceso (IAM) --> Usuarios y haciendo clic en 'Crear'.
OAuth
Esta sección proporciona una lista completa de las propiedades de OAuth que puede configurar.
Propiedad | Descripción |
---|---|
InitiateOAuth | Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte. |
OAuthRefreshToken | El token de actualización de OAuth para el token de acceso de OAuth correspondiente. |
OAuthExpiresIn | La vida útil en segundos del AccessToken de OAuth. |
OAuthTokenTimestamp | La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual. |
Iniciar OAuth
Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
Valores Posibles
OFF
, GETANDREFRESH
, REFRESH
Tipo de Datos
string
Valor por Defecto
"OFF"
Observaciones
Las siguientes opciones están disponibles:
OFF
: Indica que el flujo de OAuth será manejado en su totalidad por el usuario. Se requerirá un OAuthAccessToken para la autenticación.GETANDREFRESH
: indica que el conector manejará todo el flujo de OAuth. Si actualmente no existe ningún token, se obtendrá solicitándolo al usuario a través del navegador. Si existe un token, se actualizará cuando corresponda.REFRESH
: indica que el conector solo manejará la actualización de OAuthAccessToken. El conector nunca le pedirá al usuario que se autentique a través del navegador. El usuario debe manejar la obtención de OAuthAccessToken y OAuthRefreshToken inicialmente.
OAuthRefreshToken
El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El OAuthRefreshToken
la propiedad se usa para actualizar el OAuthAccessToken al usar la autenticación OAuth.
OAuthExpiresIn
La vida útil en segundos del AccessToken de OAuth.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Empareje con OAuthTokenTimestamp para determinar cuándo caducará el AccessToken.
OAuthTokenTimestamp
La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Emparéjese con OAuthExpiresIn para determinar cuándo expirará AccessToken.
SSL
Esta sección proporciona una lista completa de las propiedades SSL que puede configurar.
Propiedad | Descripción |
---|---|
SSLServerCert | El certificado que se aceptará del servidor al conectarse mediante TLS/SSL. |
SSLServerCert
El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Si usa una conexión TLS/SSL, esta propiedad se puede usar para especificar el certificado TLS/SSL que se aceptará del servidor. Se rechaza cualquier otro certificado que no sea de confianza para la máquina.
Esta propiedad puede tomar las siguientes formas:
Descripción | Ejemplo |
---|---|
Un certificado PEM completo (ejemplo abreviado por brevedad) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
Una ruta a un archivo local que contiene el certificado | C:\cert.cer |
La clave pública (ejemplo abreviado por brevedad) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
La huella digital MD5 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) | ecadbdda5a1529c58a1e9e09828d70e4 |
La huella digital SHA1 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Si no se especifica, se acepta cualquier certificado en el que confíe la máquina.
La máquina valida los certificados como confiables según el almacén de confianza del sistema. El almacén de confianza utilizado es el valor 'javax.net.ssl.trustStore' especificado para el sistema. Si no se especifica ningún valor para esta propiedad, se utiliza el almacén de confianza predeterminado de Java (por ejemplo, JAVA_HOME\lib\security\cacerts).
Use '*' para indicar que acepta todos los certificados. Tenga en cuenta que esto no se recomienda debido a problemas de seguridad.
Esquema
Esta sección proporciona una lista completa de propiedades de esquema que puede configurar.
Propiedad | Descripción |
---|---|
Location | Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados. |
BrowsableSchemas | Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC. |
Views | Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC. |
ListViews | Ya sea para enumerar las vistas de Cloudant o no. |
Ubicación
Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
Tipo de Datos
string
Valor por Defecto
"%APPDATA%\\\Cloudant Data Provider\\Schema"
Observaciones
La ruta a un directorio que contiene los archivos de esquema para el conector (archivos .rsd para tablas y vistas, archivos .rsb para procedimientos almacenados). La ubicación de la carpeta puede ser una ruta relativa desde la ubicación del ejecutable. El Location
La propiedad solo es necesaria si desea personalizar las definiciones (por ejemplo, cambiar el nombre de una columna, ignorar una columna, etc.) o ampliar el modelo de datos con nuevas tablas, vistas o procedimientos almacenados.
Si no se especifica, la ubicación predeterminada es "%APPDATA%\\Cloudant Data Provider\Schema" con %APPDATA%
estando configurado en el directorio de configuración del usuario:
Plataforma | %APPDATA% |
---|---|
Windows | El valor de la variable de ambiente APPDATA |
Mac | ~/Biblioteca/Soporte de aplicaciones |
Linux | ~/.config |
Esquemas Navegables
Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Enumerar los esquemas de las bases de datos puede resultar costoso. Proporcionar una lista de esquemas en la cadena de conexión mejora el rendimiento.
Mesas
Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA,TablaB,TablaC.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Listar las tablas de algunas bases de datos puede resultar costoso. Proporcionar una lista de tablas en la cadena de conexión mejora el rendimiento del conector.
Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.
Especifique las tablas que desea en una lista separada por comas. Cada tabla debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.
Puntos de Vista
Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA,VistaB,VistaC.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Listar las vistas de algunas bases de datos puede ser costoso. Proporcionar una lista de vistas en la cadena de conexión mejora el rendimiento del conector.
Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.
Especifique las vistas que desee en una lista separada por comas. Cada vista debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.
Vistas de Lista
Ya sea para enumerar las vistas de Cloudant o no.
Tipo de Datos
bool
Valor por Defecto
false
Observaciones
Establezca esta propiedad en true para que las vistas de Cloudant se muestren al listar tablas.
Misceláneas
Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.
Propiedad | Descripción |
---|---|
FlattenArrays | Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON. |
FlattenObjects | Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin procesar. |
FlexibleSchema | Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos. |
MaxRows | Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño. |
Other | Estas propiedades ocultas se usan solo en casos de uso específicos. |
Pagesize | El número máximo de resultados a devolver por página de Cloudant. |
PseudoColumns | Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla. |
RowScanDepth | El número máximo de filas para escanear para buscar las columnas disponibles en una tabla. |
SeparatorCharacter | El carácter o caracteres utilizados para denotar jerarquía. |
Timeout | El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación. |
TypeDetectionScheme | Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos. |
FlattenArrays
Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. El FlattenArrays
la propiedad se puede usar para aplanar los elementos de matrices anidadas en columnas propias: Establecer FlattenArrays
a la cantidad de elementos que desea devolver de las matrices anidadas. El índice de base cero se concatena al nombre de la columna con un punto o el carácter especificado por SeparatorCharacter. Se ignoran otros elementos.
Por ejemplo, puede devolver un número arbitrario de elementos de una matriz de cadenas:
["FLOW-MATIC","LISP","COBOL"]
Cuando FlattenArrays
se establece en 1, la matriz anterior se aplana en la siguiente tabla:
Nombre de columna | Valor de columna |
---|---|
languages.0 | FLOW-MATIC |
Configuración FlattenArrays
a -1 aplanará todos los elementos de matrices anidadas.
Usando FlattenArrays
solo se recomienda para arreglos que se espera que sean cortos. Vea Base de datos NoSQL para conocer otras formas de acceder a matrices anidadas.
FlattenObjects
Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin formato.
Tipo de Datos
bool
Valor por Defecto
true
Observaciones
Colocar FlattenObjects
a verdadero para aplanar las propiedades del objeto en columnas propias. De lo contrario, los objetos incrustados como cadenas JSON sin formato. El nombre de la propiedad se concatena en el nombre del objeto con un punto o el carácter especificado por SeparatorCharacter.
Por ejemplo, puede aplanar los objetos anidados a continuación en el momento de la conexión:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
Cuando FlattenObjects
se establece en verdadero y FlattenArrays se establece en 1, la matriz anterior se aplana en la siguiente tabla:
Nombre de columna | Valor de columna |
---|---|
grades.0.grade | un |
grades.0.score | 2 |
Esquema Flexible
Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
Tipo de Datos
bool
Valor por Defecto
true
Observaciones
Colocar FlexibleSchema
a verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
Filas Máximas
Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Tipo de Datos
int
Valor por Defecto
-1
Observaciones
Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Otro
Estas propiedades ocultas se usan solo en casos de uso específicos.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Las propiedades enumeradas a continuación están disponibles para casos de uso específicos. Los casos de uso y la funcionalidad normales del controlador no deberían requerir estas propiedades.
Especifique varias propiedades en una lista separada por punto y coma.
Integración y Formateo
Propiedad | Descripción |
---|---|
DefaultColumnSize | Establece la longitud predeterminada de los campos de cadena cuando la fuente de datos no proporciona la longitud de columna en los metadatos. El valor predeterminado es 2000. |
ConvertDateTimeToGMT | Determina si se convierten los valores de fecha y hora a GMT, en lugar de la hora local de la máquina. |
RecordToFile=filename | Registra la transferencia de datos del socket subyacente al archivo especificado. |
Tamaño de Página
El número máximo de resultados a devolver por página de Cloudant.
Tipo de Datos
int
Valor por Defecto
1000
Observaciones
El Pagesize
la propiedad afecta el número máximo de resultados a devolver por página de Cloudant. Establecer un valor más alto puede resultar en un mejor rendimiento a costa de memoria adicional asignada por página consumida.
Pseudocolumnas
Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Esta configuración es particularmente útil en Entity Framework, que no le permite establecer un valor para una pseudocolumna a menos que sea una columna de tabla. El valor de esta configuración de conexión tiene el formato "Tabla1=Columna1, Tabla1=Columna2, Tabla2=Columna3". Puede usar el carácter "*" para incluir todas las tablas y todas las columnas; por ejemplo, "*=*".
FilaExploraciónProfundidad
El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.
Tipo de Datos
int
Valor por Defecto
50
Observaciones
Las columnas de una tabla deben determinarse escaneando las filas de la tabla. Este valor determina el número máximo de filas que se escanearán.
Establecer un valor alto puede disminuir el rendimiento. Establecer un valor bajo puede evitar que el tipo de datos se determine correctamente, especialmente cuando hay datos nulos.
SeparadorCarácter
El carácter o caracteres utilizados para denotar jerarquía.
Tipo de Datos
string
Valor por Defecto
"."
Observaciones
Para aplanar las estructuras jerárquicas, el conector necesita algún especificador que indique la ruta a una columna a través de la jerarquía. Si este valor es "." y vuelve una columna con el nombre dirección.ciudad, esto indica que hay un atributo mapeado con un hijo llamado ciudad. Si sus datos tienen columnas que ya usan un solo punto dentro del nombre del atributo, establezca SeparatorCharacter
a un personaje o personajes diferentes.
Se Acabó el Tiempo
El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
Tipo de Datos
int
Valor por Defecto
60
Observaciones
Si Timeout
= 0, las operaciones no expiran. Las operaciones se ejecutan hasta que se completan correctamente o hasta que encuentran una condición de error.
Si Timeout
caduca y la operación aún no se ha completado, el conector genera una excepción.
TipoDetecciónEsquema
Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos.
Tipo de Datos
string
Valor por Defecto
"RowScan"
Observaciones
Dado que Cloudant no tiene esquema, las columnas de una tabla deben determinarse escaneando las filas de la tabla. Colocar TypeDetectionScheme
para alternar el descubrimiento automático de tipos de datos. Establecer RowScan Depth para configurar la detección de tipos.
Propiedad | Descripción |
---|---|
None | Configuración TypeDetectionScheme a Ninguno devolverá todas las columnas como un tipo de cadena. |
RowScan | Configuración TypeDetectionScheme to RowScan escaneará filas para determinar heurísticamente el tipo de datos. El RowScanDepth determina el número de filas que se escanearán. |
Ver También
La detección de tipos es parte de Descubrimiento automático de esquemas. Establecer FlattenArrays y AplanarObjetos para configurar cómo el conector proyecta columnas sobre los datos jerárquicos.
Puede ajustar las columnas descubiertas y los tipos de datos llamando a CreateSchema para generar un archivo de esquema. Los archivos de esquema tienen un formato simple que facilita cambiar el comportamiento de las columnas.