Inserte, lea, actualice, elimine, explore e importe o exporte datos en una tabla de datos mediante la CLI de Tablestore.
Requisitos previos
Tener instalada la CLI de Tablestore y configuradas las credenciales de acceso. Para obtener más información, consulte Tablestore CLI.
Haber creado una tabla de datos. Para obtener más información, consulte Data table operations.
Antes de ejecutar operaciones de datos, ejecute el siguiente comando para seleccionar la tabla de datos de destino:
use -t <tableName>
Inserción de datos
Inserte una fila de datos en una tabla de datos.
put --pk '<pk_values>' --attr '<attr_json>'
|
Parámetro |
Obligatorio |
Descripción |
|
-k, --pk |
Sí |
Los valores de clave principal de la tabla de datos, representados como un arreglo JSON. Importante
|
|
-a, --attr |
Sí |
Las columnas de atributos, representadas como un arreglo JSON. Cada columna de atributos contiene los siguientes campos:
|
|
--condition |
No |
La condición de existencia de la fila. Se admite Conditional update. Valores válidos:
|
|
-i, --input |
No |
Inserta datos desde un archivo de configuración JSON. Al utilizar un archivo de configuración, no es necesario especificar --pk ni --attr. |
Para insertar datos desde un archivo de configuración, ejecute el siguiente comando:
Windows
put -i D:\\localpath\\filename.json
Linux and macOS
put -i /localpath/filename.json
Ejemplo de archivo de configuración:
{
"PK":{
"Values":["86", 6771]
},
"Attr":{
"Values":[
{"C":"age", "V":32, "TS":1626860801604, "IsInt":true}
]
}
}
Ejemplos
-
Inserte una fila. El valor de la primera columna de clave principal es "86" y el de la segunda es 6771. La fila tiene dos columnas de atributos: name y country.
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' -
Inserte datos solo si la fila no existe.
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition not_exist
Lectura de datos
Lea una fila de datos por clave principal.
Si la fila especificada no existe, se devuelve un resultado vacío.
get --pk '<pk_values>'
|
Parámetro |
Obligatorio |
Descripción |
|
-k, --pk |
Sí |
Los valores de clave principal de la tabla de datos, representados como un arreglo JSON. El número y los tipos de columnas de clave principal deben coincidir con los de la tabla de datos. |
|
-c, --columns |
No |
Las columnas que se van a leer. Especifique columnas de clave principal o columnas de atributos, separadas por comas. Si no establece este parámetro, se devuelven todas las columnas. |
|
--max_version |
No |
El número máximo de versiones de datos que se van a leer. |
|
--time_range_start |
No |
Lee datos dentro del rango de números de versión especificado. time_range_start y time_range_end especifican las marcas de tiempo inicial y final, respectivamente. El rango es un intervalo semiabierto [inicio, fin). |
|
--time_range_end |
No |
|
|
--time_range_specific |
No |
Lee datos de un número de versión específico. |
|
-o, --output |
No |
Guarda el resultado de la consulta en un archivo local. |
Ejemplo
Lea la fila donde el valor de la primera columna de clave principal es "86" y el de la segunda es 6771.
get --pk '["86", 6771]'
Actualización de datos
Actualice las columnas de atributos de una fila en una tabla de datos.
update --pk '<pk_values>' --attr '<attr_json>'
|
Parámetro |
Obligatorio |
Descripción |
|
-k, --pk |
Sí |
Los valores de clave principal de la tabla de datos, representados como un arreglo JSON. El número y los tipos de columnas de clave principal deben coincidir con los de la tabla de datos. |
|
--attr |
Sí |
Las columnas de atributos, representadas como un arreglo JSON. Cada columna de atributos contiene los siguientes campos:
|
|
--delete |
No |
El nombre de la columna de atributos que se va a eliminar. Utilice este parámetro junto con |
|
--condition |
No |
La condición de existencia de la fila. Se admite Conditional update. Valores válidos:
|
|
-i, --input |
No |
Actualiza datos desde un archivo de configuración JSON. Al utilizar un archivo de configuración, no es necesario especificar --pk ni --attr. |
Para actualizar datos desde un archivo de configuración, ejecute el siguiente comando:
Windows
update -i D:\\localpath\\filename.json
Linux and macOS
update -i /localpath/filename.json
El formato del archivo de configuración es el mismo que para la inserción de datos.
Ejemplos
-
Actualice la fila donde el valor de la primera columna de clave principal es "86" y el de la segunda es 6771.
update --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition ignore -
Elimine la columna de atributos aaa de la fila cuyo valor de clave principal es "abc".
update --pk '["abc"]' --delete aaa --attr '[]'
Eliminación de datos
Elimine una fila de datos por clave principal.
delete --pk '<pk_values>'
|
Parámetro |
Obligatorio |
Descripción |
|
-k, --pk |
Sí |
Los valores de clave principal de la tabla de datos, representados como un arreglo JSON. El número y los tipos de columnas de clave principal deben coincidir con los de la tabla de datos. |
Ejemplo
Elimine la fila donde el valor de la primera columna de clave principal es "86" y el de la segunda es 6771.
delete --pk '["86", 6771]'
Exploración de datos
Explore y recupere todos los datos o un número específico de filas de una tabla de datos.
scan --limit <n>
|
Parámetro |
Obligatorio |
Descripción |
|
--limit |
No |
El número máximo de filas que se van a devolver. Si no establece este parámetro, se exploran todas las filas de la tabla. |
Ejemplo
Explore y recupere hasta 10 filas de una tabla de datos.
scan --limit 10
Exportación de datos
Exporte datos de una tabla de datos a un archivo JSON local.
scan -o /localpath/filename.json
|
Parámetro |
Obligatorio |
Descripción |
|
-o, --output |
Sí |
La ruta del archivo local donde se exportarán los datos. |
|
-c, --columns |
No |
Las columnas que se van a exportar. Especifique columnas de clave principal o columnas de atributos, separadas por comas. Si no establece este parámetro, se exportan todas las columnas. |
|
--max_version |
No |
El número máximo de versiones de datos que se van a exportar. |
|
--time_range_start |
No |
Exporta datos dentro del rango de números de versión especificado. time_range_start y time_range_end especifican las marcas de tiempo inicial y final, respectivamente. El rango es un intervalo semiabierto [inicio, fin). |
|
--time_range_end |
No |
|
|
--time_range_specific |
No |
Exporta datos de un número de versión específico. |
|
--backward |
No |
Exporta datos en orden descendente según la clave principal. |
|
-l, --limit |
No |
El número máximo de filas que se van a exportar. |
|
-b, --begin |
No |
Los puntos inicial y final del rango de exportación. El rango de clave principal es un intervalo semiabierto [inicio, fin). Nota
|
|
-e, --end |
No |
Ejemplos
-
Exporte todos los datos de la tabla actual a un archivo local llamado mydata.json.
scan -o /tmp/mydata.json -
Exporte únicamente las columnas uid y name.
scan -o /tmp/mydata.json -c uid,name -
Exporte datos dentro de un rango de clave principal específico.
scan -o /tmp/mydata.json -b '["86", 6771]' -e '["86", 6775]'
Importación de datos
Importe datos desde un archivo JSON local a una tabla de datos.
Si la ruta del archivo contiene caracteres chinos, la importación fallará.
import -i /localpath/filename.json
|
Parámetro |
Obligatorio |
Descripción |
|
-a, --action |
No |
El modo de importación. Valores válidos:
|
|
-i, --input |
Sí |
La ruta a un archivo de datos JSON local. Importante
|
|
--ignore_version |
No |
Ignora la verificación de marca de tiempo y utiliza la hora actual como marca de tiempo. |
Formato del archivo de datos (un registro JSON por línea):
{"PK":{"Values":["redchen",0]},"Attr":{"Values":[{"C":"country","V":"china0"},{"C":"name","V":"redchen0"}]}}
{"PK":{"Values":["redchen",1]},"Attr":{"Values":[{"C":"country","V":"china1"},{"C":"name","V":"redchen1"}]}}
Ejemplos
-
Importe datos del archivo mydata.json a la tabla actual.
import -i /tmp/mydata.json -
Importe datos y utilice la hora actual como marca de tiempo.
import -i /tmp/mydata.json --ignore_version