Crie e gerencie índices secundários com o CLI do Tablestore.
Pré-requisitos
O CLI do Tablestore instalado e configurado com credenciais de acesso. Para obter mais informações, consulte Tablestore CLI.
Uma tabela de dados com colunas predefinidas. O número máximo de versões (max versions) deve ser 1. Para obter mais informações, consulte Data table operations.
Criar um índice secundário
Crie um índice secundário global ou local para uma tabela de dados.
create_index -t <tableName> -n <indexName> -i <indexType> --pk <primaryKeyName> --attr <definedColumn>
|
Parâmetro |
Obrigatório |
Descrição |
|
-t, --table |
Não |
Nome da tabela de dados. Não é obrigatório se uma tabela de dados já estiver selecionada com |
|
-n, --name |
Sim |
Nome do índice secundário. |
|
-i, --index_type |
Não |
Tipo do índice secundário. Valores válidos:
|
|
-k, --pk |
Sim |
Colunas indexadas da tabela de índice, compostas por colunas de chave primária e colunas predefinidas da tabela de dados. Separe múltiplas colunas com vírgulas. Para um índice secundário local, a primeira coluna de chave primária da tabela de índice deve ser a mesma da tabela de dados. |
|
-a, --attr |
Sim |
Colunas de atributo da tabela de índice, que são colunas predefinidas da tabela de dados. Separe múltiplas colunas com vírgulas. |
|
-b, --without_base_data |
Não |
Exclui os dados existentes da tabela de dados ao criar o índice secundário. Por padrão, os dados existentes são incluídos. |
Exemplos
-
Crie um índice secundário global chamado index0 para a tabela de dados mytable, incluindo os dados existentes.
create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0 -
Crie um índice secundário global chamado index1 para a tabela de dados mytable, excluindo os dados existentes.
create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -b -
Crie um índice secundário local chamado index2 para a tabela de dados mytable.
create_index -t mytable -n index2 -i local --pk uid,name -a col0,col1
Usar uma tabela de índice
Selecione uma tabela de índice para operações subsequentes de consulta e exportação.
use --wc -t <indexName>
|
Parâmetro |
Obrigatório |
Descrição |
|
--wc |
Não |
Indica que a tabela especificada é uma tabela de dados ou tabela de índice, e não um search index. |
|
-t, --table |
Sim |
Nome da tabela de índice. |
Exemplos
Use a tabela de índice index0.
use -t index0
Visualizar informações do índice
Execute o comando desc para visualizar informações sobre uma tabela de dados e seus índices secundários.
desc -t <tableName>
|
Parâmetro |
Obrigatório |
Descrição |
|
-t, --table |
Não |
Nome da tabela de dados ou da tabela de índice. Não é obrigatório se uma tabela já estiver selecionada com |
|
-f, --print_format |
Não |
Formato de saída. Valores válidos: json (padrão) e table. |
|
-o, --output |
Não |
Exporta as informações da tabela para um arquivo JSON local. |
Exemplos
-
Visualize as informações da tabela atual.
desc -
Salve as informações da tabela em um arquivo local.
desc -o /tmp/describe_table_meta.json
Ler dados
Leia uma única linha de dados de uma tabela de índice pela chave primária.
Se a linha especificada não existir, o sistema retornará um resultado vazio.
get --pk '<pk_values>'
|
Parâmetro |
Obrigatório |
Descrição |
|
-k, --pk |
Sim |
Valores de chave primária da tabela de índice, expressos como um array JSON. A quantidade e os tipos das colunas de chave primária devem corresponder aos da tabela de índice. |
|
-c, --columns |
Não |
Colunas a serem lidas. Especifique colunas de chave primária ou colunas de atributo. Separe múltiplas colunas com vírgulas. Se não especificado, a linha inteira é retornada. |
|
--max_version |
Não |
Número máximo de versões a serem lidas. |
|
--time_range_start |
Não |
Lê dados dentro de um intervalo de números de versão. |
|
--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 |
Exporta os resultados da consulta para um arquivo JSON local. |
Exemplos
Leia uma linha da tabela de índice em que os valores de chave primária são "86" e 6771.
get --pk '["86", 6771]'
Varrer dados
Varra uma tabela de índice para recuperar todos os dados ou um número especificado de linhas.
scan --limit <n>
|
Parâmetro |
Obrigatório |
Descrição |
|
--limit |
Não |
Número máximo de linhas a retornar. Se não especificado, todas as linhas da tabela serão varridas. |
Exemplos
Varra até 10 linhas da tabela de índice.
scan --limit 10
Exportar dados
Exporte dados de uma tabela de índice para um arquivo JSON local.
scan -o /localpath/filename.json
|
Parâmetro |
Obrigatório |
Descrição |
|
-c, --columns |
Não |
Colunas a exportar. Especifique colunas de chave primária ou colunas de atributo. Separe múltiplas colunas com vírgulas. Se não especificado, a linha inteira é exportada. |
|
--max_version |
Não |
Número máximo de versões a exportar. |
|
--time_range_start |
Não |
Exporta dados dentro de um intervalo de números de versão. |
|
--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 de chaves primárias. |
|
-o, --output |
Sim |
Caminho do arquivo local para exportar os dados. |
|
-l, --limit |
Não |
Número máximo de linhas a exportar. |
|
-b, --begin |
Não |
Pontos de início e fim do intervalo de exportação. O intervalo de chave primária é fechado à esquerda e aberto à direita: [start, end). Nota
|
|
-e, --end |
Não |
Exemplos
-
Exporte todos os dados da tabela de índice para um arquivo local.
scan -o /tmp/mydata.json -
Exporte apenas 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]'
Excluir um índice secundário
Exclua uma tabela de índice que não é mais necessária.
drop_index -t <tableName> -i <indexName> -y
|
Parâmetro |
Obrigatório |
Descrição |
|
-t, --table |
Não |
Nome da tabela de dados. Não é obrigatório se uma tabela de dados já estiver selecionada com |
|
-i, --index |
Sim |
Nome do índice secundário. |
|
-y, --yes |
Sim |
Confirma a exclusão sem solicitar confirmação. |
Exemplos
-
Exclua a tabela de índice index0 da tabela de dados atual.
drop_index -i index0 -y -
Exclua a tabela de índice index0 da tabela de dados mytable.
drop_index -t mytable -i index0 -y