Cómo solucionar problemas relacionados con 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 de esta manera devolviendo una respuesta HTTP 200 a la solicitud del servidor push. 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 muestra 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.

Existen varias métricas que puedes usar para supervisar las suscripciones de envío. La métrica subscription/push_request_count en 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 muestra 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 envió una respuesta que Pub/Sub no pudo entender 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, confirma que tu cuenta tenga el permiso correcto en el extremo. 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 puede deberse a un mantenimiento o una interrupción en curso. 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 del 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 en las suscripciones push 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 push. Las suscripciones push existentes siguen funcionando, pero cuando creas una nueva, ves el error Request is prohibited by organization's policy. Específicamente, solo se pueden crear suscripciones de envío nuevas 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.