Solucionar problemas con una suscripción de inserción

Los suscriptores de inserción son un tipo de suscriptor de Pub/Sub en el que los mensajes se envían desde Pub/Sub a un endpoint HTTPS especificado por el usuario. El usuario confirma que ha recibido un mensaje push devolviendo una respuesta HTTP 200 a la solicitud del servidor push. En este documento se ofrecen algunos consejos habituales para solucionar problemas con las suscripciones push de Pub/Sub. Consulta más información sobre las suscripciones push en la guía del suscriptor de inserción.

Para monitorizar de forma eficaz tu suscripción a Pub/Sub, te recomendamos que primero consultes la puntuación de estado de la latencia de entrega (subscription/delivery_latency_health_score) para comprobar qué factores podrían estar contribuyendo a una latencia inesperada.

Endpoints push lentos o que no funcionan

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

Hay varias métricas que puedes usar para monitorizar las suscripciones push. La métrica subscription/push_request_count de Cloud Metrics clasifica las respuestas del endpoint de envío según response_code y response_class. Las respuestas son útiles para identificar posibles fallos en los endpoints. Si esta métrica tiene datos con un valor response_class distinto de ack, significa que el endpoint de inserción está devolviendo errores a Pub/Sub. Estos son algunos de los errores más habituales:

  • Una clase de respuesta deadline_exceeded indica que el endpoint de envío no ha respondido en el plazo de confirmación requerido. La métrica subscription/push_request_latencies ayuda a monitorizar la latencia de confirmación de inserción.

  • Una clase de respuesta invalid indica que el endpoint ha devuelto una respuesta que Pub/Sub no ha podido entender o procesar correctamente.

  • Una clase de respuesta remote_server_4xx suele indicar problemas de autenticación o de permisos. Se trata de códigos de respuesta HTTP devueltos por el endpoint, por lo que debes consultar los casos en los que se devuelve este código de respuesta. Si la autenticación está habilitada, confirma que tu cuenta tiene el permiso adecuado en el endpoint. Consulta más información sobre cómo funciona la autenticación en las suscripciones push.

  • Una clase de respuesta remote_server_5xx indica un problema del lado del servidor en el endpoint. El endpoint 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 endpoint.

  • Una clase de respuesta unreachable indica que no se puede acceder al servidor del endpoint. Comprueba que la URL del endpoint no tenga errores ortográficos.

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

Restricciones en las suscripciones push dentro de un perímetro de los Controles de Servicio de VPC

Si la protección de Controles de Servicio de VPC (VPC-SC) está habilitada en un proyecto, hay limitaciones para crear suscripciones push. Las suscripciones push actuales siguen funcionando, pero cuando creas una nueva, aparece el error Request is prohibited by organization's policy. En concreto, solo se pueden crear suscripciones push si el endpoint push es un servicio de Cloud Run que usa la URL run.app predeterminada. Para obtener más información y conocer las limitaciones específicas, consulta la documentación de Pub/Sub y la documentación de VPC-SC.