Consultar índice
Catalyst te permite consultar un índice NoSQL y recuperar datos identificando los items usando las claves primarias del índice. La indexación te permite ejecutar consultas alternativas en los datos de la tabla sin hacer uso de las claves primarias de la tabla principal. Puedes configurar índices desde la consola de Catalyst. Puedes usar solo la partition key o una combinación de la partition key y sort key del índice para recuperar un item.
Note: Catalyst te permite recuperar un máximo de 100 items de forma masiva de una tabla NoSQL con paginación desde una sola operación del SDK. Debes usar el token start_key recibido en la respuesta del SDK y construir la lógica para la paginación.
Puedes definir la condición de clave que identifica el item especificando los atributos, sus valores requeridos y el operador soportado a utilizar. También puedes especificar condiciones adicionales con los operadores de grupo.
Los operadores soportados se representan como se muestra a continuación.
| Operators | Notation |
|---|---|
| CONTAINS | contains |
| NOT_CONTAINS | not_contains |
| BEGINS_WITH | begins_with |
| ENDS_WITH | ends_with |
| IN | in |
| NOT_IN | not_in |
| BETWEEN | between |
| NOT_BETWEEN | not_between |
| EQUALS | equals |
| NOT_EQUALS | not_equals |
| GREATER_THAN | greater_than |
| LESS_THAN | less_than |
| GREATER_THAN_OR_EQUALS | greater_equal |
| LESSER_THAN_OR_EQUALS | less_equal |
| AND | AND |
| OR | OR |
En el ejemplo a continuación, la consulta se realiza con un índice referenciado por su ID de índice único. La consulta identifica los items usando la partition key del índice fruitColor y especificando el valor de la condición como "yellow". También especificamos una condición adicional con el atributo fruitType que coincide con "citrus". La consulta se realiza usando el método query_index(). Catalyst NoSQL también te permite definir otros elementos de la consulta, como usar consistent_read para indicar si la operación de lectura debe realizarse usando el clúster maestro o un esclavo, limitar el número de filas a devolver, y especificar el orden de clasificación como ascendente.
Note: En la replicación maestro-esclavo, el maestro contiene todos los datos de la base de datos, y el esclavo contiene copias del maestro. Realizar una operación de lectura desde el esclavo puede reducir el costo general con la compensación de un pequeño retraso en que los datos actualizados se reflejen.
copy
# Consultar un índice de tabla NoSQL para obtener los elementos identificados por la clave de partición fruitColour con el valor "yellow"# Pasar el ID único del índice
cres = table.query_index('6759000000740017', {
# Establecer consistent_read a true para consultar desde el master. Si se establece a false, se consulta desde el slave.
'consistent_read': 'true',# Establecer forward_scan a true para ordenar los resultados en orden ascendente. De lo contrario, se ordena en orden descendente.
'forwardScan': 'true',# Limitar el número de filas a devolver especificando un valor
'limit': 10,# Definir la condición de clave para consultar los elementos
'key_condition': {
'attribute': 'fruitColor',
'operator': 'equals',
'value': {
'S': 'yellow'
}
},
# Definir condiciones adicionales para consultar los datos, usando operadores de grupo
'other_condition': {
'group_operator': 'AND',
'group': [
{
'attribute': 'fruitType',
'operator': 'equals',
'value': {
'S': 'citrus'
}
}
]
}
})
print(res)
Última actualización 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit