Solução de problemas com assinaturas do Cloud Storage

Nesta página, você verá algumas dicas de solução de problemas comuns 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 assinatura 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 aparecer um ponto de exclamação vermelho, a assinatura está em estado de erro.

  3. Clique na assinatura do Cloud Storage.

    A página de detalhes da assinatura é aberta.

  4. Verifique se a mensagem de erro aparece no Estado da assinatura.

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

Depois que o problema é resolvido, a assinatura retorna a um estado íntegro.

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

Estes são alguns dos problemas comuns que você pode enfrentar se tiver dificuldade 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 assinaturas 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 atual.

Erro na 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 da assinatura 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 uma exclamação em vermelho

Editar o bucket depois de criar uma assinatura pode 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 atual.

  • 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 está em estado de erro, as mensagens não são gravadas no bucket e permanecem no backlog da assinatura. Se configurados, as mensagens não serão entregues a um tópico de mensagens inativas anexado. 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 atrasar o processamento de mensagens.

Por exemplo, ativar a ordenação de mensagens na assinatura do Cloud Storage pode fazer com que elas sejam gravadas no Cloud Storage, mas não sejam finalizadas para atrasar mensagens subsequentes com a mesma chave de ordem. Para um melhor desempenho, considere usar um espectro mais amplo de ordenação de chaves ao publicar mensagens ou desativar a ordenação de mensagens se isso não for necessário em seu caso de uso.

Definir um tamanho de arquivo muito baixo para a assinatura do Cloud Storage também pode afetar negativamente o desempenho. Um tamanho 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 objeto. A sobrecarga extra de criação e finalização de objetos atrasa o processamento de mensagens. Para melhorar o desempenho, aumente a configuração de tamanho máximo do arquivo para 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 capacidade de push do Pub/Sub (pubsub.googleapis.com/regionalpushsubscriber). Para verificar se você está encontrando limitações de cota, examine a métrica de solicitações de push (subscription/push_request_count) para quaisquer erros resource_exhausted.

Revise as cotas do seu projeto e verifique se você tem cota restante 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 da cota, solicite uma cota maior.

A assinatura cria mais arquivos do que o esperado

Para melhorar a escalonabilidade, sua assinatura do Cloud Storage pode ser gerenciada por vários back-ends do Pub/Sub. Cada back-end é gravado em um arquivo separado do Cloud Storage. Portanto, é possível observar o Cloud Storage criando mais arquivos do que o esperado, especialmente para cargas de trabalho de baixa capacidade.

Esse comportamento é normal. Se você quiser reduzir o número de arquivos criados pela assinatura, considere aumentar as configurações de lote de arquivos na assinatura para permitir arquivos maiores. Também é possível pós-processar os arquivos compostos 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.