Criar e configurar perfis de aplicativo

Nesta página, explicamos como criar e gerenciar perfis de aplicativos ou perfis de app de uma instância do Bigtable. 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. Especificamente, entenda a diferença entre um perfil de app padrão (configurado para usar computação padrão) e um perfil de app Data Boost (em inglês) que usa computação sem servidor (pré-lançamento) para executar jobs de leitura de alta capacidade. Para mais informações sobre o Data Boost e como ele difere da computação usando nós de cluster provisionados, consulte a Visão geral do Data Boost.

Caso você esteja usando perfis de app padrão para configurar a replicação, conheça a visão geral da replicação do Bigtable e analise os exemplos de configurações de replicação para decidir quais são as melhores configurações para seu caso de uso.

Funções exigidas

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

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 app 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 de instâncias do seu 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]
    

    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: ignora os 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 para 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 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 que o perfil de app precisa usar. Os valores aceitos são PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

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

Criar um perfil do aplicativo Data Boost

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

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista de instâncias do seu 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 padrão para o Data Boost ou o Data Boost para o padrão, consulte Converter um perfil de app.

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 de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. Se você não souber 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: ignora os 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 para 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 aplicativo.

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

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

Atualizar um perfil do aplicativo Data Boost

Para atualizar o cluster que um perfil do app 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 de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. Se você não souber 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 aplicativo

Você pode converter um perfil de aplicativo padrão em um perfil de aplicativo do Data Boost ou converter um perfil de aplicativo de Data Boost em um perfil de aplicativo padrão. Antes de converter um perfil de app, leia as orientações em Mudanças no perfil de app.

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

    gcloud bigtable instances list
    
  2. Se você não souber 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 de 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 do padrão para o Data Boost

Antes de atualizar um perfil de aplicativo de 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 de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. Se você não souber 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 nível padrão

Para alterar um perfil de app do uso do Data Boost (computação sem servidor) para 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 de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. Se você não souber 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 de aplicativo:

    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: ativa o roteamento de vários clusters para encaminhar solicitações para 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 aplicativo.

    Não é possível combinar essa sinalização com as sinalizações --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 de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. Se você não souber 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 aplicativo.