Solucionar problemas de desempaquetado de cargas útiles

En esta página se explica cómo resolver problemas con el desenvoltorio de la carga útil.

Errores de código de estado HTTP

Cuando se usa el desempaquetado de la carga útil, pueden producirse errores comunes de códigos de estado HTTP. Puedes monitorizar los errores con la métrica push_request_count.

400: solicitud incorrecta

Se produce el siguiente error cuando Pub/Sub no puede procesar la solicitud debido a una configuración incorrecta o a la falta de datos.

400 Bad Request

Este error se produce por varios motivos. A continuación, se indican algunas de las causas más habituales del error:

  • La carga útil (datos del mensaje) no coincide con el formato de solicitud esperado especificado por el endpoint HTTP.
  • Faltan los encabezados necesarios para procesar la solicitud.
  • Se ha configurado un endpoint HTTP incorrecto para la suscripción.

Para solucionar este problema, prueba las siguientes soluciones:

  • Comprueba el formato de tu carga útil (datos del mensaje). Asegúrate de que coincida con el formato de solicitud esperado especificado por el endpoint HTTP.
  • Comprueba que la solicitud contenga los encabezados obligatorios. Si faltan los encabezados, puede que tengas que añadirlos en los atributos del mensaje. Por ejemplo, puede incluir Content-Type, pero también puede ser necesario incluir otros.
  • Confirma que el endpoint HTTP configurado para tu suscripción es válido.
  • Habilita la cola de mensajes fallidos (DLQ) en tu suscripción push. De esta forma, se redirigen los mensajes individuales que no se pueden entregar. Es útil habilitar la cola de mensajes fallidos si ves un número reducido de errores 400 que quieres inspeccionar.

401 Unauthorized o 403 Forbidden

El siguiente error se produce cuando Pub/Sub no puede procesar la solicitud debido a que las credenciales son incorrectas o no válidas.

401 unauthorized / 403 forbidden

Este error se produce porque la suscripción push no está autenticada.

Para solucionar este problema, prueba las siguientes soluciones:

  • Habilita la autenticación push. Es importante usar la autenticación push si vas a integrar Cloud Run o App Engine.

    Si la autenticación push no funciona con tu solución, puede que tengas que añadir tu propia clave de autorización o clave de API en los atributos del mensaje de publicación.

415 Unsupported Media Type

Se produce el siguiente error cuando Pub/Sub no puede procesar la solicitud porque el formato de la carga útil no es compatible.

415 Unsupported Media Type

Este error se produce por varios motivos. A continuación, se indican algunas de las causas más habituales del error:

  • Falta el encabezado media-type obligatorio en el endpoint.

Para solucionar este problema, prueba la siguiente solución:

  • Es probable que tu endpoint requiera un encabezado Content-Type. De forma predeterminada, el desempaquetado de la carga útil no define un encabezado de tipo de contenido multimedia. Puedes definir un Content-Type encabezado adjuntándolo como un atributo de mensaje de publicación.

431 request header fields too large / 413 content too large

Se produce el siguiente error cuando Pub/Sub no puede procesar la solicitud porque el contenido enviado en ella es demasiado grande.

431 request header fields too Large / 413 content too large

Este error se produce si los atributos de un mensaje de Pub/Sub superan el tamaño máximo del encabezado de un servidor.

Para solucionar estos problemas, prueba las siguientes soluciones:

  • Desactiva Escribir metadatos.
  • Habilita la cola de mensajes fallidos (DLQ) en tu suscripción push. De esta forma, se redirigen los mensajes individuales que no se pueden entregar. Después, tu suscripción seguirá funcionando, pero los mensajes con errores se redirigirán a otro tema para analizarlos con más detalle.

Comprobar si el desempaquetado de la carga útil está habilitado

  1. En la Google Cloud consola, ve a la página Suscripciones.

    Abrir suscripciones de Pub/Sub

  2. Haz clic en el nombre del servicio.

    Se abrirá la página de detalles del servicio.

  3. En la tabla de configuración, busca los siguientes valores: Desencapsulado de datos de mensajes y Escribir metadatos de mensajes.

    El estado del envoltorio de carga útil (habilitado o inhabilitado) se muestra en la fila de la tabla correspondiente.

Siguientes pasos

  • Si sigues teniendo problemas con el desempaquetado de la carga útil, consulta la sección Obtener asistencia.