En esta página, se describen las propiedades que son comunes a todos los tipos de suscripción de Pub/Sub. Puedes establecer estas propiedades cuando creas o actualizas una suscripción.
Tiempo de retención de mensajes
La opción Tiempo de retención de mensajes especifica el tiempo que Pub/Sub retiene mensajes después de la publicación. Después de que transcurre el tiempo de retención de mensajes, Pub/Sub puede descartar el mensaje, sin importar el estado de confirmación del mensaje. Para retener los mensajes confirmados durante el tiempo de retención de mensajes, consulta la página Vuelve a reproducir y descartar mensajes.
Los siguientes son los valores de la opción Tiempo de retención de mensajes:
- Valor predeterminado = 7 días
- Valor mínimo = 10 minutos
- Valor máximo = 31 días
Los mensajes no confirmados pueden deberse a suscripciones inactivas, necesidades de copias de seguridad o procesamiento lento. Si puedes procesar los mensajes en un plazo de 24 horas, no se generarán cargos adicionales. Para evitar cargos nuevos, administra estas situaciones de la siguiente manera:
Suscripciones inactivas : Borra las suscripciones inactivas para evitar cargos por retención de mensajes de suscripción.
Almacenamiento en copias de seguridad : Si usas la retención de suscripciones como almacenamiento en copias de seguridad, puedes cambiar a otra opción de almacenamiento, como la retención de mensajes por temas o la retención de mensajes confirmados. La retención de mensajes por temas almacena mensajes solo una vez a nivel del tema y permanecen disponibles para que todas las suscripciones los consuman cuando sea necesario.
Demoras en el procesamiento : Agrega más suscriptores (si es posible) para procesar los mensajes en un día.
Retener mensajes confirmados
Si especificas Tiempo de retención de mensajes, también puedes especificar si deseas retener los mensajes confirmados.
La opción Retener mensajes confirmados te permite retener los mensajes confirmados durante el tiempo de retención de mensajes especificado. Esta opción hace que aumenten las tarifas por almacenamiento de mensajes. Para obtener más información, consulta Costos de almacenamiento.
Período de vencimiento
La opción Período de vencimiento te permite extender el período de vencimiento de tu suscripción.
Las suscripciones sin actividad del suscriptor o sin cambios en las propiedades de la suscripción vencen. Si Pub/Sub detecta actividad del suscriptor o si actualizas alguna de las propiedades de la suscripción, se reiniciará el reloj de eliminación de suscripciones. Algunos ejemplos de actividades del suscriptor incluyen conexiones abiertas, extracciones activas o envíos exitosos.
Si especificas el período de vencimiento, el valor debe ser, al menos, igual que el tiempo de retención de mensajes especificado en la opción Tiempo de retención de mensajes.
Los siguientes son los valores de la opción Período de vencimiento:
- Valor predeterminado = 31 días
- Valor mínimo = 1 día
Para evitar que una suscripción venza, establece el período de vencimiento en never expire.
Plazo de confirmación
La opción Plazo de confirmación especifica el plazo inicial después del cual se vuelve a enviar un mensaje no confirmado. Puedes extender el plazo de confirmación por mensaje enviando solicitudes ModifyAckDeadline posteriores.
Los siguientes son los valores de la opción Plazo de confirmación:
- Valor predeterminado = 10 segundos
- Valor mínimo = 10 segundos
- Valor máximo = 600 segundos
En algunos casos, las bibliotecas cliente de Pub/Sub pueden controlar la tasa de entrega y modificar de forma dinámica el plazo de confirmación.
De esta manera, es posible que el mensaje se vuelva a entregar antes del plazo de confirmación que estableciste. Para anular este comportamiento, usa minDurationPerAckExtension y maxDurationPerAckExtension. Para obtener más información sobre el uso de estos valores, consulta
Compatibilidad con la entrega exactamente una vez en las bibliotecas cliente.
Transformaciones de mensaje único (SMT)
Las SMT permiten realizar modificaciones ligeras en los atributos y datos de los mensajes directamente en Pub/Sub. Esta función permite la limpieza de datos, el filtrado o la conversión de formato antes de que los mensajes se entreguen a un cliente suscriptor.
Para obtener más información, consulta Descripción general de las SMT y Crea una suscripción con SMT.
Filtro de suscripción
Usa la opción Filtro de suscripción para especificar una cadena con una expresión de filtrado. Si una suscripción tiene un filtro, la suscripción solo entrega los mensajes que coinciden con él. El servicio de Pub/Sub confirma automáticamente los mensajes que no coinciden con el filtro.
Puedes filtrar los mensajes por sus atributos, pero no por los datos que contienen.
Si no se especifica, la suscripción no filtra los mensajes y los suscriptores los reciben todos.
Los filtros no se pueden cambiar ni quitar después de aplicarlos.
Cuando recibes mensajes de una suscripción con un filtro, no generas tarifas de salida para los mensajes que Pub/Sub confirma de forma automática. Se cobran tarifas por la entrega de mensajes y el almacenamiento relacionado con las búsquedas para estos mensajes.
Para obtener más información, consulta Filtra mensajes de una suscripción.
Ordenamiento de mensajes
De forma predeterminada, es posible que Pub/Sub no entregue los mensajes en el orden en que se publican. Si Ordenamiento de mensajes está habilitado para una suscripción, todos los mensajes enviados en la misma región, con la misma clave de ordenamiento, se reciben en el orden en que se publican.
Para que los mensajes se reciban en orden, el publicador debe establecer la clave de ordenamiento. Es posible que los mensajes sin una clave de ordenamiento no se reciban en orden.
Cuando se usa la entrega ordenada, las confirmaciones de los mensajes posteriores no se procesan hasta que se procesan las confirmaciones de los mensajes anteriores. Para obtener más información, consulta Ordena mensajes.
Tema de mensajes no entregados
Cuando no se puede entregar un mensaje después de una cantidad establecida de intentos de entrega, o un suscriptor no puede confirmar el mensaje, Pub/Sub puede volver a publicar el mensaje en un tema de mensajes no entregados configurado.
Si estableces un tema de mensajes no entregados, también puedes especificar la cantidad máxima de intentos de entrega. El valor predeterminado es de 5 intentos de entrega. Puedes establecer la cantidad máxima de intentos en cualquier número entre 5 y 100, inclusive.
Si el tema de mensajes no entregados está en un proyecto diferente al de la suscripción, también debes especificar el ID del proyecto con el tema de mensajes no entregados.
Para obtener más información, consulta Temas de mensajes no entregados.
Política de reintentos
Si vence el plazo de confirmación o el suscriptor responde con una confirmación de recepción negativa, Pub/Sub podrá volver a enviar el mensaje. Este intento de reenvío se conoce como Política de reintentos de la suscripción.
De forma predeterminada, la política de reintentos de una suscripción está configurada para usar Reintentar de inmediato. Con esta opción, Pub/Sub reenvía el mensaje cuando vence el plazo de confirmación o un suscriptor responde con una confirmación de recepción negativa.
También puedes establecer el valor en Reintentar después de un retraso de retirada exponencial. En este caso, debes especificar los valores máximo y mínimo de retirada.
Estas son algunas instrucciones para establecer los valores máximo y mínimo de retirada:
Si estableces el valor máximo para la duración de retirada, el valor predeterminado para la duración mínima de retirada es de 10 segundos.
Si estableces el valor mínimo para la duración de retirada, el valor predeterminado para la duración máxima de retirada es de 600 segundos.
La duración de retirada más larga que puedes especificar es de 600 segundos.
Política de reintentos y mensajes por lotes
Si los mensajes están en un lote, Pub/Sub inicia la retirada exponencial cuando ocurre una de las siguientes situaciones:
El suscriptor envía una confirmación negativa para cada mensaje en el lote.
El plazo de confirmación de recepción se vence.
Política de reintentos y suscripción de envío
Si recibes mensajes de una suscripción de envío, Pub/Sub podría volver a entregar mensajes después de la retirada de envío en lugar de la duración de retirada exponencial. Cuando la retirada de envío es más larga que la duración de la retirada exponencial, Pub/Sub vuelve a entregar los mensajes no confirmados después de la retirada de envío.