Criar uma instância e gravar dados com a CLI cbt

Se você estiver conhecendo o Bigtable, leia um guia de início rápido para saber sobre os conceitos básicos que usaria em reduzir escalonamento horizontal um ambiente de produção.

Neste guia de início rápido, você realiza as seguintes ações:

  • Conecte a uma instância do Bigtable.
  • realiza tarefas administrativas básicas;
  • grava dados em uma tabela;
  • lê dados de uma tabela.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. Instale a CLI do Google Cloud.

  3. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  4. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  5. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos (roles/resourcemanager.projectCreator), que contém a permissão resourcemanager.projects.create. Saiba como conceder papéis.
    • Crie um projeto do Google Cloud :

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto Google Cloud que você está criando.

    • Selecione o projeto Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud .

  6. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  7. Ative as APIs Cloud Bigtable e Cloud Bigtable Admin:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  8. Atribua papéis à sua conta de usuário. Execute o seguinte comando uma vez para cada um dos seguintes papéis do IAM: roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • USER_IDENTIFIER: o identificador da sua conta de usuário . Por exemplo, myemail@example.com.
    • ROLE: o papel do IAM concedido à sua conta de usuário.
  9. Instale a CLI do Google Cloud.

  10. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  11. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  12. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos (roles/resourcemanager.projectCreator), que contém a permissão resourcemanager.projects.create. Saiba como conceder papéis.
    • Crie um projeto do Google Cloud :

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto Google Cloud que você está criando.

    • Selecione o projeto Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud .

  13. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  14. Ative as APIs Cloud Bigtable e Cloud Bigtable Admin:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  15. Atribua papéis à sua conta de usuário. Execute o seguinte comando uma vez para cada um dos seguintes papéis do IAM: roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • USER_IDENTIFIER: o identificador da sua conta de usuário . Por exemplo, myemail@example.com.
    • ROLE: o papel do IAM concedido à sua conta de usuário.
  16. Execute o seguinte comando para instalar a CLI cbt :
    gcloud components install cbt

Criar uma instância do Bigtable

  1. Abra a página Criar instância no console do Google Cloud .

    Criar uma instância

  2. Em Nome da instância, insira Quickstart instance.

  3. Em ID da instância, insira quickstart-instance.

  4. Clique em Continuar.

  5. Em Tipo de armazenamento, selecione SSD.

  6. Clique em Continuar.

  7. Em ID do cluster, digite quickstart-instance-c1.

  8. Em Região, selecione uma região perto de você.

  9. Em Zona, selecione Qualquer uma.

  10. Em Modo de escalonamento do nó, escolha Alocação manual.

  11. Em Quantidade, selecione 1.

  12. Clique em Criar para gerar a instância.

Conectar-se à instância

  1. Configure a CLI cbt para usar o projeto e a instância criando um arquivo .cbtrc, substituindo PROJECT_ID pelo ID do projeto em que você criou a instância do Bigtable:

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
    
  2. Verifique se você configurou o arquivo .cbtrc corretamente:

    cat ~/.cbtrc

    O terminal exibe o conteúdo do arquivo .cbtrc, que é semelhante ao seguinte:

    project = PROJECT_ID
    instance = quickstart-instance

    Agora, é possível usar a CLI cbt com sua instância.

ler e gravar dados

O Bigtable armazena dados em tabelas com linhas. Cada linha é identificada por uma chave de linha.

Os dados em uma linha são organizados em famílias de colunas, que são grupos de colunas. Um qualificador de coluna identifica uma única coluna em um grupo de colunas.

Pode haver várias células com carimbo de data/hora na interseção de uma linha e uma coluna.

  1. Crie uma tabela denominada my-table.

    cbt createtable my-table
  2. Liste as tabelas:

    cbt ls

    O comando exibe uma resposta semelhante a esta:

        my-table

  3. Adicione um grupo de colunas denominado cf1:

    cbt createfamily my-table cf1
  4. Liste os grupos de colunas:

    cbt ls my-table

    O comando exibe uma resposta semelhante a esta:

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. Escreva os valores test-value1 e test-value2 na linha r1 usando o grupo de colunas cf1 e o qualificador de coluna c1:

    cbt set my-table r1 cf1:c1=test-value1
      cbt set my-table r1 cf1:c1=test-value2
    
  6. Use o comando cbt read para ler os dados que você adicionou à tabela:

    cbt read my-table

    O shell exibirá uma resposta semelhante a esta:

        ----------------------------------------
        r1
          cf1:c1                                   @ 2023/03/22-06:56:11.323000
            "test-value1"
          cf1:c1                                   @ 2023/03/22-06:56:04.361000
            "test-value2"

    Dois valores com carimbo de data/hora são armazenados para a mesma coluna na linha r1.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, exclua a instância. Com a exclusão do arquivo .cbtrc, você está pronto para trabalhar em outro projeto.

  1. Exclua a tabela my-table:

    cbt deletetable my-table
  2. Exclua a instância:

    cbt deleteinstance quickstart-instance
  3. Exclua o arquivo .cbtrc.

    rm ~/.cbtrc

  4. Opcional: revogar credenciais da CLI gcloud:

    gcloud auth revoke

A seguir