En esta página, se describe cómo una suscripción de Pub/Sub retiene los mensajes publicados y cómo configurar este comportamiento. Es posible que cambies la configuración predeterminada por los siguientes motivos:
- Para ajustar el tiempo que los mensajes no confirmados permanecen disponibles para una suscripción antes de que se borren
- Para habilitar la reproducción de mensajes confirmados anteriormente
Descripción general
Cuando creas una suscripción, Pub/Sub comienza a retener los mensajes publicados en nombre de la suscripción. De forma predeterminada, Pub/Sub descarta un mensaje de una suscripción en cuanto se confirma y retiene los mensajes no confirmados durante 7 días.
Puedes establecer la duración de la retención cuando creas o actualizas la suscripción. La duración mínima de la retención es de 10 minutos y la máxima es de 31 días.
También puedes habilitar la suscripción para que retenga los mensajes confirmados hasta la duración de retención configurada. La retención de mensajes confirmados te permite volver a reproducir los mensajes confirmados anteriormente durante el tiempo que se retengan. Para obtener más información sobre la reproducción de mensajes, consulta Vuelve a reproducir y borra definitivamente mensajes con la búsqueda.
Si se configura una suscripción para que retenga los mensajes confirmados, los costos de almacenamiento de los mensajes confirmados que retenga la suscripción se facturarán al proyecto de la suscripción.
Si también habilitas la retención de mensajes en el tema de la suscripción, los mensajes se borrarán de la suscripción solo cuando su antigüedad supere el máximo de la retención de la suscripción y la retención del tema. Para obtener más información, consulta Habilita la retención de mensajes de temas.
Configura la retención de mensajes
Para crear una suscripción que retenga los mensajes confirmados, sigue los siguientes pasos:
Console
En la Google Cloud consola de, ve a la página Suscripciones de Pub/Sub.
Haz clic en Crear suscripción.
En el campo ID de suscripción, ingresa un ID para tu suscripción.
En la sección Duración de la retención de mensajes , selecciona la cantidad de días, horas y minutos que deseas retener los mensajes.
Selecciona la casilla de verificación Retener mensajes confirmados.
Haz clic en Crear suscripción.
gcloud
Usa el
gcloud pubsub subscriptions create:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \
--message-retention-duration=5d \
--retain-acked-messages
Reemplaza SUBSCRIPTION_ID por el ID de la suscripción.
Si omites la marca --message-retention-duration, los mensajes se retienen durante la duración predeterminada de 7 días.
Para actualizar la configuración de la retención de mensajes en una suscripción existente, sigue estos pasos:
Console
Selecciona tu suscripción en la página Suscripciones de Pub/Sub.
Haz clic en Editar en la parte superior de la página de detalles de la suscripción.
En la sección Duración de la retención de mensajes , actualiza la cantidad de días, horas y minutos que deseas retener los mensajes.
Selecciona o desmarca la casilla de verificación Retener mensajes confirmados.
Haz clic en Actualizar para guardar los cambios en la suscripción.
gcloud
Usa el
gcloud pubsub subscriptions update
comando:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--message-retention-duration=1d \
--retain-acked-messages
Para inhabilitar la retención de mensajes confirmados, usa el comando update con la marca --no-retain-acked-messages:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--no-retain-acked-messages