Crie e gerencie índices secundários com o Tablestore CLI.
Pré-requisitos
Tablestore CLI instalado e configurado com credenciais de acesso. Para mais informações, consulte Tablestore CLI.
Tabela de dados com colunas predefinidas. O número máximo de versões (max versions) deve ser 1. Para mais informações, consulte Operações de tabela de dados.
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. Dispensável se você já selecionou uma tabela de dados 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 várias colunas com vírgulas. Em índices secundários locais, a primeira coluna de chave primária da tabela de índice deve ser igual à primeira coluna de chave primária da tabela de dados. |
|
-a, --attr |
Sim |
Colunas de atributo da tabela de índice, correspondentes às colunas predefinidas da tabela de dados. Separe várias colunas com vírgulas. |
|
-b, --without_base_data |
Não |
Exclui os dados existentes da tabela de dados durante a criação do índice secundário. Por padrão, o sistema inclui os dados existentes. |
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 consultas e exportações subsequentes.
use --wc -t <indexName>
|
Parâmetro |
Obrigatório |
Descrição |
|
--wc |
Não |
Indica que a tabela especificada é uma tabela de dados ou de índice, e não um índice de pesquisa. |
|
-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 de índice. Dispensável se você já selecionou uma tabela 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 informações sobre a 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 ler. Especifique colunas de chave primária ou de atributo. Separe várias colunas com vírgulas. Se omitido, o sistema retorna toda a linha. |
|
--max_version |
Não |
Número máximo de versões a ler. |
|
--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 onde os valores de chave primária são "86" e 6771.
get --pk '["86", 6771]'
Verificar dados
Verifique uma tabela de índice para recuperar todos os dados ou um número específico de linhas.
scan --limit <n>
|
Parâmetro |
Obrigatório |
Descrição |
|
--limit |
Não |
Número máximo de linhas a retornar. Se omitido, o sistema verifica todas as linhas da tabela. |
Exemplos
Verifique 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 de atributo. Separe várias colunas com vírgulas. Se omitido, o sistema exporta toda a linha. |
|
--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 de destino da exportação. |
|
-l, --limit |
Não |
Número máximo de linhas a exportar. |
|
-b, --begin |
Não |
Pontos inicial e final do intervalo de exportação. O intervalo de chave primária é fechado à esquerda e aberto à direita: [início, fim). 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 desnecessária.
drop_index -t <tableName> -i <indexName> -y
|
Parâmetro |
Obrigatório |
Descrição |
|
-t, --table |
Não |
Nome da tabela de dados. Dispensável se você já selecionou uma tabela de dados com |
|
-i, --index |
Sim |
Nome do índice secundário. |
|
-y, --yes |
Sim |
Confirma a exclusão sem solicitar confirmação adicional. |
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