Solução de problemas com assinaturas do Cloud Storage

Esta página oferece algumas dicas comuns de solução de problemas para assinaturas do Cloud Storage.

Verificar o estado de uma assinatura do Cloud Storage

Para verificar o estado de uma assinatura, siga estas etapas:

  1. No console do Google Cloud, acesse a página de assinaturas do Pub/Sub.

    Acessar "Assinaturas"

  2. Verifique o ícone Estado da sua assinatura do Cloud Storage.

    • Se o ícone for uma marca de seleção verde, a assinatura está íntegra.

    • Se o ícone for um ponto de exclamação vermelho, a assinatura está em um estado de erro.

  3. Clique na assinatura do Cloud Storage.

    A página de detalhes da assinatura é aberta.

  4. Verifique a mensagem de erro em Estado da assinatura.

  5. Dependendo da mensagem de erro, acesse a seção relevante nesta página para resolver o problema.

Depois que o problema for resolvido, a assinatura vai retornar a um estado saudável.

Não foi possível criar ou atualizar a assinatura

Confira alguns problemas comuns que podem ocorrer se você tiver dificuldades para criar ou atualizar uma assinatura do Cloud Storage.

Erro de bucket não encontrado

Se o bucket especificado no fluxo de trabalho de criação ou atualização de assinatura não existir, o fluxo de trabalho retornará um erro bucket not found. No console do Google Cloud, a mensagem é semelhante a esta:

The Cloud Storage bucket specified cannot be found.

Para resolver o problema, crie o bucket ou atualize sua assinatura do Cloud Storage para usar um bucket existente.

Erro da conta de serviço

Se você não tiver configurado a conta de serviço do Pub/Sub com as permissões corretas, o fluxo de trabalho de criação ou atualização de assinaturas vai retornar um erro. No console do Google Cloud, a mensagem é semelhante a esta:

Cloud Pub/Sub did not have the necessary permissions configured to access
the provided bucket my-bucket (or the bucket may not exist).
Please verify that the service account
service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
was granted the Storage Legacy Bucket Reader and Storage Object Creator
roles for the provided bucket.

Para resolver o problema, verifique se a conta de serviço tem as permissões corretas.

O estado da assinatura mostra um ponto de exclamação vermelho

Se você editar o bucket depois de criar uma assinatura, isso poderá afetar a forma como o Pub/Sub grava mensagens no bucket. Se uma mudança resultar em um problema, o campo de estado da assinatura será definido como um estado de erro.

Na página de detalhes da assinatura, verifique o estado do campo Subscription state. O campo Subscription state fornece um erro mais específico, que pode ser um dos seguintes:

  • Bucket não encontrado: o bucket foi excluído. Crie o bucket novamente ou atualize a assinatura para usar um bucket existente.

  • Permissão do bucket negada: a conta de serviço do Pub/Sub não tem mais permissão para gravar no bucket. Verifique se a conta de serviço tem as permissões corretas.

Enquanto uma assinatura do Pub/Sub estiver no estado de erro, as mensagens não serão gravadas no bucket e permanecerão no backlog da assinatura. As mensagens não são entregues a um tópico de mensagens inativas anexado, se configurado. As mensagens não confirmadas são retidas pelo período definido em message_retention_duration (sete dias por padrão).

A assinatura processa mensagens muito lentamente

Algumas configurações de assinatura podem desacelerar o processamento de mensagens.

Por exemplo, ativar a ordenação de mensagens na assinatura do Cloud Storage pode fazer com que as mensagens sejam gravadas no Cloud Storage, mas não sejam finalizadas para atrasar mensagens subsequentes com a mesma chave de ordenação. Para melhorar o desempenho, use um espectro mais amplo de chaves de ordenação ao publicar mensagens ou desative a ordenação de mensagens se o caso de uso não exigir isso.

Definir um tamanho máximo de arquivo muito baixo para sua assinatura do Cloud Storage também pode afetar negativamente a performance. Um tamanho máximo de arquivo muito baixo pode fazer com que o Pub/Sub crie muitos objetos do Cloud Storage com apenas um pequeno número de mensagens em cada um. A sobrecarga adicional de criação e finalização de objetos diminui a velocidade do processamento de mensagens. Para um desempenho melhor, aumente a configuração de tamanho máximo de arquivo da sua assinatura do Cloud Storage ou remova a restrição de tamanho de arquivo.

Limitações de cota

Outra possibilidade é que seu projeto tenha atingido a cota de throughput de push do Pub/Sub (pubsub.googleapis.com/regionalpushsubscriber). Para verificar se você está enfrentando limitações de cota, examine a métrica de solicitações de push (subscription/push_request_count) para encontrar erros de resource_exhausted.

Revise as cotas do projeto e verifique se você tem cota suficiente. Acesse IAM e administrador > Cotas no projeto que contém sua assinatura do Pub/Sub. Pesquise a cota pubsub.googleapis.com/regionalpushsubscriber. Se você estiver atingindo o limite de cota, solicite uma cota maior.

A assinatura cria mais arquivos do que o esperado

Para melhorar a escalabilidade, sua assinatura do Cloud Storage pode ser processada por vários back-ends do Pub/Sub. Cada back-end grava em um arquivo separado do Cloud Storage. Portanto, é possível observar que o Cloud Storage cria mais arquivos do que o esperado, principalmente para cargas de trabalho de baixa taxa de transferência.

Isso é normal. Se você quiser reduzir o número de arquivos criados pela assinatura, aumente as configurações de agrupamento de arquivos na assinatura para permitir arquivos maiores. Também é possível processar os arquivos depois de compor em um número menor de arquivos maiores.

A seguir

  • Se você ainda tiver problemas com sua assinatura do Cloud Storage, consulte Como receber suporte.