Insira, leia, atualize, exclua, escaneie e importe ou exporte dados em uma tabela de dados com o Tablestore CLI.
Pré-requisitos
O Tablestore CLI instalado e as credenciais de acesso configuradas. Para mais informações, consulte Tablestore CLI.
Uma tabela de dados criada. Para mais informações, consulte Operações em tabelas de dados.
Antes de executar operações de dados, execute o seguinte comando para selecionar a tabela de dados de destino:
use -t <tableName>
Inserir dados
Insira uma linha de dados em uma tabela de dados.
put --pk '<pk_values>' --attr '<attr_json>'
|
Parâmetro |
Obrigatório |
Descrição |
|
-k, --pk |
Sim |
Os valores da chave primária da tabela de dados, representados como um array JSON. null
|
|
-a, --attr |
Sim |
As colunas de atributo, representadas como um array JSON. Cada coluna de atributo contém os seguintes campos:
|
|
--condition |
Não |
A condição de existência da linha. Atualização condicional é suportada. Valores válidos:
|
|
-i, --input |
Não |
Insere dados a partir de um arquivo de configuração JSON. Ao usar um arquivo de configuração, não é necessário especificar --pk e --attr. |
Para inserir dados a partir de um arquivo de configuração, execute o seguinte comando:
Windows
put -i D:\\localpath\\filename.json
Linux and macOS
put -i /localpath/filename.json
Exemplo de arquivo de configuração:
{
"PK":{
"Values":["86", 6771]
},
"Attr":{
"Values":[
{"C":"age", "V":32, "TS":1626860801604, "IsInt":true}
]
}
}
Exemplos
-
Insira uma linha em que o valor da primeira coluna de chave primária é "86" e o valor da segunda coluna de chave primária é 6771. A linha possui duas colunas de atributo: name e country.
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' -
Insira dados somente se a linha não existir.
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition not_exist
Ler dados
Leia uma linha de dados pela chave primária.
Se a linha especificada não existir, um resultado vazio é retornado.
get --pk '<pk_values>'
|
Parâmetro |
Obrigatório |
Descrição |
|
-k, --pk |
Sim |
Os valores da chave primária da tabela de dados, representados como um array JSON. O número e os tipos de colunas de chave primária devem corresponder aos da tabela de dados. |
|
-c, --columns |
Não |
As colunas a serem lidas. Especifique colunas de chave primária ou colunas de atributo, separadas por vírgulas. Se este parâmetro não for definido, todas as colunas são retornadas. |
|
--max_version |
Não |
O número máximo de versões de dados a serem lidas. |
|
--time_range_start |
Não |
Lê dados dentro do intervalo de número de versão especificado. time_range_start e time_range_end definem os timestamps de início e fim, respectivamente. O intervalo é semiaberto: [início, fim). |
|
--time_range_end |
Não |
|
|
--time_range_specific |
Não |
Lê dados de um número de versão específico. |
|
-o, --output |
Não |
Salva o resultado da consulta em um arquivo local. |
Exemplo
Leia a linha em que o valor da primeira coluna de chave primária é "86" e o valor da segunda coluna de chave primária é 6771.
get --pk '["86", 6771]'
Atualizar dados
Atualize as colunas de atributo de uma linha em uma tabela de dados.
update --pk '<pk_values>' --attr '<attr_json>'
|
Parâmetro |
Obrigatório |
Descrição |
|
-k, --pk |
Sim |
Os valores da chave primária da tabela de dados, representados como um array JSON. O número e os tipos de colunas de chave primária devem corresponder aos da tabela de dados. |
|
--attr |
Sim |
As colunas de atributo, representadas como um array JSON. Cada coluna de atributo contém os seguintes campos:
|
|
--delete |
Não |
O nome da coluna de atributo a ser excluída. Use este parâmetro com |
|
--condition |
Não |
A condição de existência da linha. Atualização condicional é suportada. Valores válidos:
|
|
-i, --input |
Não |
Atualiza dados a partir de um arquivo de configuração JSON. Ao usar um arquivo de configuração, não é necessário especificar --pk e --attr. |
Para atualizar dados a partir de um arquivo de configuração, execute o seguinte comando:
Windows
update -i D:\\localpath\\filename.json
Linux and macOS
update -i /localpath/filename.json
O formato do arquivo de configuração é o mesmo utilizado para a inserção de dados.
Exemplos
-
Atualize a linha em que o valor da primeira coluna de chave primária é "86" e o valor da segunda coluna de chave primária é 6771.
update --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition ignore -
Exclua a coluna de atributo aaa da linha em que o valor da chave primária é "abc".
update --pk '["abc"]' --delete aaa --attr '[]'
Excluir dados
Exclua uma linha de dados pela chave primária.
delete --pk '<pk_values>'
|
Parâmetro |
Obrigatório |
Descrição |
|
-k, --pk |
Sim |
Os valores da chave primária da tabela de dados, representados como um array JSON. O número e os tipos de colunas de chave primária devem corresponder aos da tabela de dados. |
Exemplo
Exclua a linha em que o valor da primeira coluna de chave primária é "86" e o valor da segunda coluna de chave primária é 6771.
delete --pk '["86", 6771]'
Escanear dados
Escaneie e recupere todos os dados ou um número específico de linhas de uma tabela de dados.
scan --limit <n>
|
Parâmetro |
Obrigatório |
Descrição |
|
--limit |
Não |
O número máximo de linhas a retornar. Se este parâmetro não for definido, todas as linhas da tabela são escaneadas. |
Exemplo
Escaneie e recupere até 10 linhas de uma tabela de dados.
scan --limit 10
Exportar dados
Exporte dados de uma tabela de dados para um arquivo JSON local.
scan -o /localpath/filename.json
|
Parâmetro |
Obrigatório |
Descrição |
|
-o, --output |
Sim |
O caminho do arquivo local para exportar os dados. |
|
-c, --columns |
Não |
As colunas a serem exportadas. Especifique colunas de chave primária ou colunas de atributo, separadas por vírgulas. Se este parâmetro não for definido, todas as colunas são exportadas. |
|
--max_version |
Não |
O número máximo de versões de dados a serem exportadas. |
|
--time_range_start |
Não |
Exporta dados dentro do intervalo de número de versão especificado. time_range_start e time_range_end definem os timestamps de início e fim, respectivamente. O intervalo é semiaberto: [início, fim). |
|
--time_range_end |
Não |
|
|
--time_range_specific |
Não |
Exporta dados de um número de versão específico. |
|
--backward |
Não |
Exporta dados em ordem decrescente pela chave primária. |
|
-l, --limit |
Não |
O número máximo de linhas a serem exportadas. |
|
-b, --begin |
Não |
Os pontos de início e fim do intervalo de exportação. O intervalo de chave primária é semiaberto: [início, fim). null
|
|
-e, --end |
Não |
Exemplos
-
Exporte todos os dados da tabela atual para um arquivo local chamado mydata.json.
scan -o /tmp/mydata.json -
Exporte somente as colunas uid e name.
scan -o /tmp/mydata.json -c uid,name -
Exporte dados dentro de um intervalo de chave primária especificado.
scan -o /tmp/mydata.json -b '["86", 6771]' -e '["86", 6775]'
Importar dados
Importe dados de um arquivo JSON local para uma tabela de dados.
Se o caminho do arquivo contiver caracteres chineses, a importação falhará.
import -i /localpath/filename.json
|
Parâmetro |
Obrigatório |
Descrição |
|
-a, --action |
Não |
O modo de importação. Valores válidos:
|
|
-i, --input |
Sim |
O caminho para um arquivo JSON de dados local. null
|
|
--ignore_version |
Não |
Ignora a verificação de timestamp e usa o horário atual como timestamp. |
Formato do arquivo de dados (um registro JSON por linha):
{"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"}]}}
Exemplos
-
Importe dados do arquivo mydata.json para a tabela atual.
import -i /tmp/mydata.json -
Importe dados usando o horário atual como timestamp.
import -i /tmp/mydata.json --ignore_version