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
No Google Cloud console, acesse a página Assinaturas do Pub/Sub.
Clique em Criar assinatura.
No campo ID da assinatura, insira um ID para a assinatura.
Na seção Duração da retenção de mensagens , selecione o número de dias, horas e minutos para reter mensagens.
Marque a caixa de seleção Reter mensagens confirmadas.
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
Selecione sua assinatura na página de Assinaturas do Pub/Sub.
Clique em Editar também na parte superior da página de detalhes da assinatura.
Na seção Duração da retenção de mensagens , atualize o número de dias, horas e minutos para reter mensagens.
Marque ou desmarque a caixa de seleção Reter mensagens confirmadas.
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