Soluciona problemas de una suscripción de envío

Los suscriptores de envío son un tipo de suscriptor de Pub/Sub en el que los mensajes se envían de Pub/Sub a un extremo HTTPS especificado por el usuario. El usuario confirma un mensaje enviado al mostrar una respuesta HTTP 200 a la solicitud del servidor de aplicación. En este documento, se proporcionan algunas sugerencias comunes para solucionar problemas relacionados con las suscripciones de envío de Pub/Sub. Obtén más información sobre las suscripciones de envío en la Guía del suscriptor de envío.

Para supervisar tu suscripción a Pub/Sub de forma eficaz, se recomienda consultar primero la puntuación del estado de la latencia de entrega (subscription/delivery_latency_health_score) para verificar qué factores podrían estar contribuyendo a una latencia inesperada.

Extremos de envío con errores o lentos

Si el extremo devuelve un código de respuesta de error, se considera que la entrega del mensaje falló y se vuelve a intentar más tarde. Esto puede provocar que el extremo reciba mensajes duplicados.

Hay varias métricas que puedes usar para supervisar las suscripciones de envío. La métrica subscription/push_request_count en las métricas de Cloud clasifica las respuestas del extremo de envío por response_code y response_class. Las respuestas son útiles para identificar posibles fallos del endpoint. Si esta métrica tiene datos con un response_class distinto de ack, esto indica que el extremo de envío devuelve errores a Pub/Sub. Estos son algunos de los errores más comunes:

  • Una clase de respuesta deadline_exceeded indica que el extremo de envío no respondió dentro del plazo requerido de confirmación (confirmación). La métrica subscription/push_request_latencies ayuda a realizar un seguimiento de la latencia de confirmación de envío.

  • Una clase de respuesta invalid indica que el extremo devolvió una respuesta que Pub/Sub no pudo comprender o procesar correctamente.

  • Por lo general, una clase de respuesta remote_server_4xx indica problemas de autenticación o permisos. Estos son códigos de respuesta HTTP que muestra el extremo, así que observa las situaciones en las que se devuelve este código de respuesta. Si la autenticación está habilitada, confirme que su cuenta tiene el permiso correcto en el endpoint. Obtén más información sobre cómo funciona la autenticación en las suscripciones de envío.

  • Una clase de respuesta remote_server_5xx indica un problema del servidor en el extremo. El extremo no puede procesar la solicitud. Esto podría deberse a interrupciones o mantenimiento continuos. Revisa el estado del servidor que aloja el extremo.

  • Una clase de respuesta unreachable indica que no se puede acceder al servidor de extremo en absoluto. Verifica que la URL de extremo no tenga errores tipográficos.

Obtén más información sobre los códigos de error más comunes de la API de Pub/Sub.

Restricciones a suscripciones de envío dentro de un perímetro de VPC-SC

Si la protección de los Controles del servicio de VPC (VPC-SC) está habilitada en un proyecto, existen limitaciones para crear suscripciones de envío. Las suscripciones de envío existentes siguen funcionando, pero cuando creas una nueva, verás el error Request is prohibited by organization's policy. Específicamente, las nuevas suscripciones de envío solo se pueden crear si el extremo de envío es un servicio de Cloud Run que usa la URL run.app predeterminada. Para obtener más detalles y limitaciones específicas, consulta la documentación de Pub/Sub y la documentación de VPC-SC.