Esta página fornece algumas dicas de resolução de problemas comuns para subscrições do Cloud Storage.
Verifique o estado de uma subscrição do Cloud Storage
Para verificar o estado de uma subscrição, siga estes passos:
Na Google Cloud consola, aceda à página de subscrição do Pub/Sub.
Verifique o ícone de Estado da sua subscrição do Cloud Storage.
Se o ícone for uma marca de verificação verde, a subscrição está em bom estado.
Se o ícone for um ponto de exclamação vermelho, a subscrição está num estado de erro.
Clique na subscrição do Cloud Storage.
É apresentada a página de detalhes da subscrição.
Verifique o Estado da subscrição para ver a mensagem de erro.
Consoante a mensagem de erro, aceda à secção relevante desta página para resolver o problema.
Após a resolução do problema, a subscrição volta a ficar num estado normal.
Não é possível criar nem atualizar a subscrição
Seguem-se alguns dos problemas comuns que pode enfrentar se tiver problemas ao criar ou atualizar uma subscrição do Cloud Storage.
Erro de contentor não encontrado
Se o contentor especificado no fluxo de trabalho de criação ou atualização da subscrição não existir, o fluxo de trabalho devolve um erro bucket not found
.
Na consola Google Cloud , a mensagem é semelhante à seguinte:
The Cloud Storage bucket specified cannot be found.
Para resolver o problema, crie o contentor ou atualize a sua subscrição do Cloud Storage para usar um contentor existente.
Erro da conta de serviço
Se não tiver configurado a conta de serviço do Pub/Sub com as autorizações corretas, o fluxo de trabalho de criação ou atualização da subscrição devolve um erro. Na consola Google Cloud , a mensagem é semelhante à seguinte:
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.
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 autorizações corretas.
O estado da subscrição mostra uma exclamação vermelha
Se editar o contentor após criar uma subscrição, pode afetar a forma como o Pub/Sub escreve mensagens no contentor. Se uma alteração resultar num problema, o campo de estado da subscrição é definido como um estado de erro.
Na página de detalhes da subscrição, 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 eliminado. Crie novamente o contentor ou atualize a subscrição para usar um contentor existente.
Autorização do contentor recusada: a conta de serviço do Pub/Sub já não tem autorização para escrever no contentor. Verifique se a conta de serviço tem as autorizações corretas.
Enquanto uma subscrição do Pub/Sub estiver no estado de erro, as mensagens não são escritas no contentor e permanecem na fila de mensagens pendentes da subscrição. Tenha em atenção que as mensagens não são entregues num tópico de mensagens não entregues anexado, se estiver configurado. As mensagens não reconhecidas são retidas
durante o período definido em message_retention_duration
(7 dias por predefinição).
A subscrição processa as mensagens muito lentamente
Algumas definições de subscrição podem tornar o processamento de mensagens mais lento.
Por exemplo, a ativação da ordenação de mensagens na sua subscrição do Cloud Storage pode fazer com que as mensagens sejam escritas no Cloud Storage, mas não sejam finalizadas, o que atrasa as mensagens subsequentes com a mesma chave de ordenação. Para um melhor desempenho, considere usar um espectro mais amplo de chaves de ordenação ao publicar mensagens ou desativar a ordenação de mensagens se o seu exemplo de utilização não o exigir.
A definição de um tamanho máximo de ficheiro demasiado baixo para a sua subscrição do Cloud Storage também pode afetar negativamente o desempenho. Um tamanho máximo de ficheiro demasiado 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 adicional da criação e finalização de objetos abranda o processamento de mensagens. Para um melhor desempenho, considere aumentar a definição do tamanho máximo do ficheiro para a sua subscrição do Cloud Storage ou remover a restrição de tamanho do ficheiro.
Limitações de quota
Outra possibilidade é o seu projeto ter atingido a quota de débito de envio do Pub/Sub (pubsub.googleapis.com/regionalpushsubscriber
).
Para verificar se está a ter limitações de quota, examine a métrica de pedidos de envio (subscription/push_request_count
)
para detetar erros resource_exhausted
.
Reveja as quotas do seu projeto e verifique se tem quota suficiente
restante. Navegue para IAM e administrador > Quotas no projeto que contém a sua subscrição do Pub/Sub. Pesquise a quota pubsub.googleapis.com/regionalpushsubscriber
. Se estiver a atingir o limite da quota, pode pedir um ajuste da quota.
A subscrição cria mais ficheiros do que o esperado
Para permitir uma escalabilidade melhorada, a sua subscrição do Cloud Storage pode ser processada por vários backends do Pub/Sub. Cada back-end escreve num ficheiro do Cloud Storage separado, pelo que pode observar o Cloud Storage a criar mais ficheiros do que o esperado, especialmente para cargas de trabalho de baixo débito.
Este comportamento é normal. Se quiser reduzir o número de ficheiros criados pela subscrição, pode considerar aumentar as definições de processamento em lote de ficheiros na subscrição para permitir ficheiros maiores. Também pode pós-processar os ficheiros compondo-os num número menor de ficheiros maiores.
O que se segue?
- Se continuar a ter problemas com a sua subscrição do Cloud Storage, consulte o artigo Obter apoio técnico.