Como solucionar problemas de uma assinatura de push

Os assinantes de push são um tipo de assinante do Pub/Sub em que as mensagens são enviadas do Pub/Sub para um endpoint HTTPS especificado pelo usuário. O usuário confirma uma mensagem enviada por push retornando uma resposta HTTP 200 para a solicitação do servidor de push. Neste documento, fornecemos algumas dicas de solução de problemas comuns para assinaturas de push do Pub/Sub. Leia mais sobre assinaturas push no guia do assinante push.

Para monitorar sua assinatura do Pub/Sub com eficiência, analise primeiro a pontuação de integridade da latência de entrega (subscription/delivery_latency_health_score) para saber quais fatores podem estar contribuindo para uma latência inesperada.

Endpoints de push com falha ou lentos

Se o endpoint retornar um código de resposta de erro, a entrega da mensagem será considerada com falha e será repetida mais tarde. Isso pode fazer com que o endpoint receba mensagens duplicadas.

Há várias métricas que podem ser usadas para monitorar as assinaturas de push. A métrica subscription/push_request_count nas métricas do Cloud categoriza as respostas do endpoint de push por response_code e response_class. As respostas são úteis para a identificação de possíveis falhas no endpoint. Se a métrica tiver dados com um response_class diferente de ack, isso indica que o endpoint de push está retornando erros para o Pub/Sub. Alguns dos erros mais comuns incluem:

  • Uma classe de resposta deadline_exceeded indica que o endpoint de push não respondeu dentro do prazo de confirmação necessário. A métrica subscription/push_request_latencies ajuda a acompanhar a latência de confirmação push.

  • Uma classe de resposta invalid indica que o endpoint retornou uma resposta que o Pub/Sub não conseguiu entender ou processar corretamente.

  • Uma classe de resposta remote_server_4xx geralmente indica problemas de autenticação ou permissão. Esses são os códigos de resposta HTTP retornados pelo endpoint, então observe os cenários em que esse código de resposta é retornado. Se a autenticação estiver ativada, confirme se a conta tem a permissão correta no endpoint. Saiba mais sobre como a autenticação funciona em assinaturas de push.

  • Uma classe de resposta remote_server_5xx indica um problema do lado do servidor no endpoint. O endpoint não pode processar a solicitação. Isso pode ter acontecido devido a uma manutenção contínua ou interrupção do serviço. Revise o status do servidor que hospeda o endpoint.

  • Uma classe de resposta unreachable indica que não é possível acessar o servidor de endpoint. Verifique se há erros de digitação no URL do endpoint.

Saiba mais sobre os códigos de erro mais comuns da API Pub/Sub.

Restrições em assinaturas de push dentro de um perímetro de VPC-SC

Se a proteção do VPC Service Controls (VPC-SC) estiver ativada em um projeto, haverá limitações na criação de assinaturas de push. As assinaturas de push atuais continuam funcionando, mas o erro Request is prohibited by organization's policy é exibido ao criar uma nova. Especificamente, novas assinaturas de push só poderão ser criadas se o endpoint de push for um serviço do Cloud Run usando o URL run.app padrão. Para mais detalhes e limitações específicas, consulte a documentação do Pub/Sub e a documentação do VPC-SC.