Este documento oferece dicas de solução de problemas para assinaturas do Bigtable.
Não é possível criar ou atualizar a assinatura
Ao tentar criar ou atualizar uma assinatura do Bigtable, você pode encontrar os seguintes erros.
Erro de permissão negada
Se a instância ou tabela do Bigtable não existir ou se a conta de serviço configurada não tiver acesso a nenhuma delas, você receberá um erro de permissão negada.
Para resolver o problema:
Verifique se a instância e a tabela existem. Para mais informações, consulte os documentos a seguir:
Se elas não existirem, crie-as e tente criar a assinatura novamente. Para um exemplo dessa etapa, consulte Gravar do Pub/Sub no Bigtable.
Se o erro persistir, verifique se a conta de serviço tem as permissões corretas. Para mais informações, consulte Conceder papéis do IAM à conta de serviço.
Grupos de colunas ausentes
Se a tabela do Bigtable não tiver os grupos de colunas corretos, você receberá um erro INCOMPATIBLE_SCHEMA.
Esse erro pode ser causado pelos seguintes problemas:
- A tabela não tem um grupo de colunas
data. - A gravação de metadados
está ativada, e a tabela não tem um grupo de colunas
pubsub_metadata.
Para resolver o problema, crie os grupos de colunas necessários. Para mais informações, consulte Adicionar grupos de colunas.
A assinatura não está gravando dados
Se uma assinatura do Bigtable não estiver gravando dados, verifique o
estado da assinatura executando o
gcloud beta pubsub subscriptions describe
comando:
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Substitua SUBSCRIPTION_ID pelo nome da assinatura.
O campo bigtableConfig.state contém o estado. Se a assinatura estiver pronta para gravar mensagens no Bigtable, o estado será ACTIVE.
Caso contrário, há um erro na configuração que impede a assinatura de gravar mensagens na tabela do Bigtable.
Os problemas de configuração podem incluir o seguinte:
O perfil do aplicativo não está configurado para roteamento de cluster único.
Erros de permissão. Consulte Erro de permissão negada.
A tabela do Bigtable não tem um grupo de colunas obrigatório. Consulte Grupos de colunas ausentes.
A assinatura não pode gravar na tabela do Bigtable devido a uma política de armazenamento de mensagens. Esse erro ocorre se
enforceInTransitforTruee o local da tabela não estiver em uma região permitida.
Enquanto uma assinatura estiver em estado de erro, ela não gravará mensagens na tabela do Bigtable. As mensagens permanecem no backlog da assinatura. Elas não são entregues ao tópico de mensagens inativas, se houver um configurado. As mensagens não confirmadas são retidas pela duração de retenção de mensagens da assinatura .
Depois que o problema for resolvido, a assinatura retornará a um estado normal.
Aumento do backlog
Se o estado da assinatura for ACTIVE, mas houver um backlog crescente de mensagens na assinatura ou se as mensagens estiverem indo para o tópico de mensagens inativas da assinatura, procure os seguintes problemas.
A taxa de publicação excede a capacidade
Se a taxa de publicação de mensagens no tópico exceder a capacidade do cluster do Bigtable, os backlogs poderão ser criados na assinatura.
A ordenação de mensagens tem compensações de performance. O uso de assinaturas do Bigtable com ordenação pode levar a uma capacidade de processamento mais baixa ou a uma latência de entrega de mensagens mais alta. Se você notar problemas de performance com a ordenação ativada, use chaves de ordenação adequadamente granulares para evitar chaves ativas ou modifique o aplicativo para não exigir ordenação. Para mais informações, consulte Considerações ao usar mensagens ordenadas.
Monitore a performance do cluster e considere aumentar o tamanho dele. Para mais informações, consulte os seguintes tópicos na documentação do Bigtable:
Tráfego entre regiões
Se o aplicativo publicar no tópico de uma região diferente do cluster do Bigtable, cada mensagem levará mais tempo para ser publicada em comparação com a publicação da mesma região. O tempo de publicação mais longo reduz a taxa em que a assinatura grava mensagens no Bigtable, reduzindo a capacidade de processamento total.
Para minimizar o tempo necessário para que as mensagens sejam publicadas, publique-as na mesma região do cluster do Bigtable.
A seguir
- Se você ainda tiver problemas com a assinatura do Bigtable, consulte Receber suporte.