Criar e configurar perfis de aplicativo

Esta página explica como criar e gerenciar um perfis de aplicativos. Além disso, mostramos como usar um perfil de aplicativo personalizado para se conectar ao Bigtable.

Antes de ler esta página, é preciso entender o que são "perfis de aplicativos" e como eles funcionam. Em particular, entenda a diferença entre um perfil de app padrão, um perfil de app configurado para usar computação padrão, e um perfil de app do Data Boost, um perfil de app que usa a computação sem servidor do Data Boost (pré-lançamento) para executar jobs de leitura de alto volume. Para mais informações sobre o Data Boost e como ele difere da computação usando nós de cluster provisionados, confira a documentação do Data Boost geral do Google.

Se você estiver usando perfis de app padrão para configurar a replicação, também é preciso conhecer a visão geral da replicação do Bigtable, além de analisar os exemplos de configurações de replicação e decidir quais são as melhores configurações para seu caso de uso.

Funções exigidas

Para ter as permissões necessárias para criar, configurar ou excluir um perfil de aplicativo, peça ao administrador para conceder a você Papel do IAM de administrador do Bigtable (roles/bigtable.admin) na instância. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar um perfil de app

Crie muitos perfis de app personalizados diferentes para cada instância. Use perfis de app personalizados para controlar como cada aplicativo ou função do aplicativo interage com uma instância. Por exemplo, use um perfil para um aplicativo em lote para isolar o tráfego para um único cluster e usar outro perfil para oferecer alta disponibilidade a outro aplicativo.

Criar um perfil de aplicativo padrão

Para criar um perfil de aplicativo padrão, siga estas etapas:

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância em que você quer criar um perfil de aplicativo.

  3. No painel esquerdo, clique em Perfis de aplicativo.

  4. Clique em Criar perfil de aplicativo.

  5. Informe o código do perfil de aplicativo.

    O código do perfil de aplicativo é um identificador permanente do perfil de aplicativo. Seu aplicativo mostra esse código quando se conecta ao Bigtable.

  6. Digite uma descrição do perfil de aplicativo.

  7. Em Roteamento de cluster, selecione o roteamento de cluster único ou de vários clusters. Saiba mais

  8. Se você escolher Cluster único:

    1. Use o menu suspenso para selecionar o cluster para onde as solicitações serão encaminhadas.

    2. Se você precisar ativar transações de linha única, marque a caixa de seleção Permitir transações de linha única.

  9. Se você escolher Vários clusters:

    1. Para rotear solicitações para qualquer cluster na instância, selecione Qualquer cluster na lista suspensa Grupo de clusters.
    2. Para limitar o roteamento de solicitações a apenas alguns clusters na instância (roteamento do grupo de clusters), marque a caixa de seleção de cada cluster que você quer incluir no grupo de roteamento e clique em OK.
  10. Clique em Criar para criar o perfil de aplicativo.

  11. Atualize o código do aplicativo para se conectar ao Bigtable para que ele use o novo perfil de aplicativo.

gcloud

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Use o comando bigtable app-profiles create para criar um perfil de aplicativo:

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes] \
        [--priority=PRIORITY]
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância

    O comando aceita as sinalizações opcionais a seguir:

    • --description=DESCRIPTION: Uma descrição detalhada do perfil de aplicativo.
    • --force: Ignorar avisos sobre possíveis problemas e conflitos com outros perfis de aplicativo.
    • --route-any: ativa o roteamento de vários clusters para encaminhar solicitações a qualquer cluster disponível.

      Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: uma lista de clusters para os quais as solicitações precisam ser roteadas. Use essa opção se quiser rotear solicitações para apenas alguns dos clusters na instância.

      Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

    • --route-to=CLUSTER_ID: código do cluster ao qual todas as solicitações serão roteadas. Essa sinalização ativa o encaminhamento de cluster único.

      Não é possível combinar essa sinalização com a sinalização --route-any.

    • --transactional-writes: Ative as transações de linha única na o perfil de aplicativo.

      Não é possível combinar essa sinalização com as sinalizações --route-any ou --restrict-to.

    • --priority=PRIORITY: o nível de prioridade do perfil do app deve usar. Os valores aceitos são PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

  3. Atualize o código do aplicativo quando se conectar ao Bigtable para que ele use o novo perfil de aplicativo.

Criar um perfil de app do Data Boost

Para criar um perfil de app do Data Boost, que usa a computação sem servidor do Data Boost, siga estas etapas. Para garantir que sua carga de trabalho é compatível com o Data Boost, consulte as limitações.

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Use o comando beta bigtable app-profiles create para criar um perfil de aplicativo:

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
    • CLUSTER_ID: código do cluster ao qual todas as solicitações serão roteadas. Essa sinalização ativa o encaminhamento de cluster único.

Conectar-se a um perfil de app personalizado

Depois de criar um perfil de aplicativo personalizado, atualize seu código para que o aplicativo use o perfil de aplicativo quando se conectar ao Bigtable.

Os exemplos a seguir mostram como especificar um perfil de aplicativo quando o aplicativo cria um cliente do Bigtable e se conecta a uma instância. Substitua [APP_PROFILE_ID] pelo valor adequado.

C#

var client = BigtableClient.Create(appProfileId: "[APP_PROFILE_ID]");

Go

clientConf := bigtable.ClientConfig{AppProfile:"[APP_PROFILE_ID]"}
client, err = bigtable.NewClientWithConfig(ctx, project, instance, clientConf)

HBase Java

// If using BigtableOptions directly:
optionsBuilder.setAppProfileId("[APP_PROFILE_ID]");

// If using BigtableOptionsFactory:
configuration.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, "[APP_PROFILE_ID]");

// If using system properties, set "google.bigtable.app_profile.id" to
// "[APP_PROFILE_ID]"

// If using CloudBigtableIO for Cloud Dataflow:
config.withConfiguration(BigtableOptionsFactory.APP_PROFILE_ID_KEY,
                         "[APP_PROFILE_ID]");

Node.js

const bigtable = new Bigtable({appProfileId: '[APP_PROFILE_ID]'});

Python

from google.cloud import bigtable

client = bigtable.Client(project=project_id)
instance = client.instance(instance_id)
table = bigtable.table.Table(table_id, instance, '[APP_PROFILE_ID]')

Atualizar um perfil de app

Você pode ver os perfis de aplicativo de uma instância e atualizar as configurações a qualquer momento. O Cloud Bigtable avisa sobre atualizações que possam causar mudanças de comportamento inesperadas.

Para saber como atualizar um perfil de app de padrão para o Data Boost ou Data Boost para padrão, consulte Converter um perfil de aplicativo.

Atualizar um perfil de app padrão

Para atualizar um perfil de app padrão, siga estas etapas:

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    Abrir a lista de instâncias

  2. Na coluna Perfis de aplicativo, clique no perfil de aplicativo que você quer visualizar ou atualizar.

    Caso não encontre o perfil de aplicativo que quer editar, você poderá ver uma lista completa clicando no nome da instância e em Perfis de aplicativo no painel esquerdo.

  3. Atualize as configurações conforme necessário e clique em Salvar ou em Cancelar para sair sem salvar.

gcloud

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. (Opcional) Use o comando bigtable app-profiles describe para ver as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
  4. Use o comando bigtable app-profiles update para atualizar as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância

    O comando aceita as sinalizações opcionais a seguir:

    • --description=DESCRIPTION: Uma descrição detalhada do perfil de aplicativo.
    • --force: Ignorar avisos sobre possíveis problemas e conflitos com outros perfis de aplicativo.
    • --route-any: ativa o roteamento de vários clusters para encaminhar solicitações a qualquer cluster disponível.

      Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: uma lista de clusters para os quais as solicitações precisam ser roteadas. Use essa opção se quiser rotear solicitações para apenas alguns dos clusters na instância.

      Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

    • --route-to=CLUSTER_ID: código do cluster ao qual todas as solicitações serão roteadas. Essa sinalização ativa o encaminhamento de cluster único.

      Não é possível combinar essa sinalização com a sinalização --route-any.

    • --transactional-writes: ativa transações de linha única no perfil de app.

      Não é possível combinar essa sinalização com a sinalização --route-any.

    • --priority=PRIORITY: o nível de prioridade do perfil do app usa. Os valores aceitos são PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW

Atualizar um perfil de app do Data Boost

Para atualizar o cluster que um perfil de app do Data Boost lê, siga estas etapas:

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. (Opcional) Use o comando bigtable app-profiles describe para ver as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
  4. Use o comando beta bigtable app-profiles update para atualizar as configurações do perfil de aplicativo:

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --route-to=CLUSTER_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
    • CLUSTER_ID: o ID do novo cluster a ser lido

Converter um perfil de app

É possível converter um perfil de app padrão em um perfil de app Data Boost ou converter um perfil de app Data Boost em um perfil de app padrão. Antes de você converter um perfil de aplicativo, leia as orientações em Perfil de aplicativo mudanças.

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. (Opcional) Use o comando bigtable app-profiles describe para ver as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
  4. Use o comando beta bigtable app-profiles update para converter um perfil de app do padrão para o Data Boost:

    gcloud bigtable app-profile-update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância
    • CLUSTER_ID: código do cluster ao qual todas as solicitações serão roteadas. Essa sinalização ativa o encaminhamento de cluster único.

Converter um perfil de app de padrão para o Data Boost

Antes de atualizar um perfil do app do padrão (nós provisionados para computação) para a computação sem servidor do Data Boost, verifique as métricas de qualificação do Data Boost.

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. (Opcional) Use o comando bigtable app-profiles describe para ver as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância

Converter um perfil de app do Data Boost para o padrão

Para mudar o perfil de um app de Data Boost (computação sem servidor) para o padrão (nós provisionados para computação), siga estas etapas:

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. (Opcional) Use o comando bigtable app-profiles describe para ver as configurações do perfil de aplicativo:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. Use o comando beta bigtable app-profiles update para converter o perfil do app:

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --standard \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

Preencha o seguinte:

  • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
  • INSTANCE_ID: identificador permanente da instância

O comando aceita as sinalizações opcionais a seguir:

  • --route-any: Ative o roteamento de vários clusters para encaminhar solicitações aos qualquer cluster disponível.

    Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: uma lista de clusters para os quais as solicitações precisam ser roteadas. Use essa opção se quiser rotear solicitações para apenas alguns dos clusters na instância.

    Não é possível combinar essa sinalização com as sinalizações --route-to ou --transactional-writes

  • --route-to=CLUSTER_ID: código do cluster ao qual todas as solicitações serão roteadas. Essa sinalização ativa o encaminhamento de cluster único.

    Não é possível combinar essa sinalização com a sinalização --route-any.

  • --transactional-writes: Ative as transações de linha única na o perfil de aplicativo.

    Não é possível combinar essa sinalização com --route-any ou --restrict-to.

Excluir um perfil de app

É possível excluir os perfis de aplicativo personalizados de uma instância, mas não o perfil de aplicativo padrão.

Para excluir um perfil de aplicativo personalizado:

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância em que está o perfil de aplicativo que você quer excluir.

  3. No painel esquerdo, clique em Perfis de aplicativo.

  4. Abra o menu mais ações e clique em Excluir perfil de aplicativo. Uma caixa de diálogo de confirmação é exibida.

  5. Siga as instruções na caixa de diálogo de confirmação e clique em Excluir.

gcloud

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do projeto:

    gcloud bigtable instances list
    
  2. Caso você não saiba o ID do perfil de aplicativo, use o comando bigtable app-profiles list para ver uma lista de perfis de aplicativo da instância:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Substitua INSTANCE_ID pelo identificador permanente da instância.

  3. Use o comando bigtable app-profiles delete para excluir o perfil do aplicativo:

    gcloud bigtable app-profiles delete APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--force]
    

    Preencha o seguinte:

    • APP_PROFILE_ID: identificador permanente do perfil de aplicativo.
    • INSTANCE_ID: identificador permanente da instância

    O comando aceita a seguinte sinalização opcional:

    --force: ignora os avisos sobre possíveis problemas e conflitos com outros perfis de app.