Configurar a retenção de mensagens para uma assinatura

Esta página descreve como uma assinatura do Pub/Sub retém mensagens publicadas e como configurar esse comportamento. Você pode mudar as configurações padrão pelos seguintes motivos:

  • Para ajustar por quanto tempo as mensagens não confirmadas permanecem disponíveis para uma assinatura antes de serem excluídas.
  • Para ativar a repetição de mensagens confirmadas anteriormente.

Visão geral

Ao criar uma assinatura, o Pub/Sub começa a reter mensagens publicadas em nome dela. Por padrão, o Pub/Sub descarta uma mensagem de uma assinatura assim que ela é confirmada e retém mensagens não confirmadas por sete dias.

É possível definir a duração da retenção ao criar ou atualizar a assinatura. A duração mínima da retenção é de 10 minutos e a máxima é de 31 dias.

Também é possível ativar a assinatura para reter mensagens confirmadas, até a duração de retenção configurada. A retenção de mensagens confirmadas permite repetir mensagens confirmadas anteriormente enquanto elas forem retidas. Para mais informações sobre como repetir mensagens, consulte Repetir e limpar mensagens com busca.

Se uma assinatura for configurada para reter mensagens confirmadas, os custos de armazenamento das mensagens confirmadas retidas pela assinatura serão faturados no projeto da assinatura.

Se você também ativar a retenção de mensagens no tópico da assinatura, as mensagens serão excluídas da assinatura somente quando a idade delas exceder o máximo das durações de retenção da assinatura e do tópico. Para mais informações, consulte Ativar a retenção de mensagens de tópico.

Configurar a retenção de mensagens

Para criar uma assinatura que retenha mensagens confirmadas, siga estas etapas:

Console

  1. No Google Cloud console, acesse a página Assinaturas do Pub/Sub.

    Acessar a página de assinaturas

  2. Clique em Criar assinatura.

  3. No campo ID da assinatura, insira um ID para a assinatura.

  4. Na seção Duração da retenção de mensagens , selecione o número de dias, horas e minutos para reter mensagens.

  5. Marque a caixa de seleção Reter mensagens confirmadas.

  6. Clique em Criar assinatura.

gcloud

Use o gcloud pubsub subscriptions create:

gcloud pubsub subscriptions create SUBSCRIPTION_ID \
  --message-retention-duration=5d \
  --retain-acked-messages

Substitua SUBSCRIPTION_ID pelo ID da assinatura.

Se você omitir a flag --message-retention-duration, as mensagens serão retidas pela duração padrão de sete dias.

Para atualizar as configurações de retenção de mensagens em uma assinatura atual, siga estas etapas:

Console

  1. Selecione sua assinatura na página de Assinaturas do Pub/Sub.

    Acessar a página de assinaturas

  2. Clique em Editar também na parte superior da página de detalhes da assinatura.

  3. Na seção Duração da retenção de mensagens , atualize o número de dias, horas e minutos para reter mensagens.

  4. Marque ou desmarque a caixa de seleção Reter mensagens confirmadas.

  5. Clique em Atualizar para salvar as mudanças na assinatura.

gcloud

Use o gcloud pubsub subscriptions update comando:

gcloud pubsub subscriptions update SUBSCRIPTION_ID \
  --message-retention-duration=1d \
  --retain-acked-messages

Para desativar a retenção de mensagens confirmadas, use o comando update com a flag --no-retain-acked-messages:

gcloud pubsub subscriptions update SUBSCRIPTION_ID \
  --no-retain-acked-messages

A seguir