Esta página descreve as propriedades comuns a todos os tipos de assinatura do Pub/Sub. É possível definir essas propriedades ao criar ou atualizar uma assinatura.
Duração da retenção da mensagem
A opção Duração da retenção de mensagens especifica por quanto tempo o Pub/Sub retém as mensagens após a publicação. Após a duração da retenção de mensagens, o Pub/Sub pode descartar a mensagem, independentemente do estado de confirmação. Para reter mensagens reconhecidas para a duração da retenção da mensagem, consulte Como reproduzir e descartar mensagens.
Confira a seguir os valores da opção Duração da retenção de mensagens:
- Valor padrão = 7 dias
- Valor mínimo = 10 minutos
- Valor máximo = 31 dias
Mensagens não confirmadas podem resultar de assinaturas inativas, necessidades de backup ou processamento lento. Se você conseguir processar as mensagens em 24 horas, não haverá cobranças extras. Para evitar novas cobranças, gerencie esses cenários da seguinte forma:
Assinaturas inativas. Exclua assinaturas inativas para evitar cobranças de retenção de mensagens de assinatura.
Armazenamento de backup. Se você estiver usando a retenção de assinaturas como armazenamento de backup, mude para outra opção, como retenção de mensagens de tópico ou retenção de mensagens confirmadas. A retenção de mensagens de tópico armazena mensagens apenas uma vez no nível do tópico, e elas permanecem disponíveis para todas as assinaturas consumirem quando necessário.
Atrasos no processamento. Adicione mais assinantes (se possível) para processar as mensagens em um dia.
Reter mensagens reconhecidas
Se você especificar a Duração da retenção de mensagens, também poderá especificar se quer reter mensagens confirmadas.
A opção Reter mensagens confirmadas permite reter mensagens confirmadas pelo período de retenção especificado. Isso aumenta as taxas de armazenamento de mensagens. Para mais informações, consulte custos de armazenamento.
Período de expiração
Com a opção Período de expiração, é possível estender o prazo de validade da sua assinatura.
As assinaturas sem atividade do assinante ou mudanças nas propriedades expiram. Se o Pub/Sub detectar atividade do assinante ou se você atualizar alguma das propriedades da assinatura, o relógio de exclusão será reiniciado. Exemplos de atividades do assinante incluem conexões abertas, pulls ativos ou pushes bem-sucedidos.
Se você especificar o período de expiração, o valor precisará ser pelo menos igual à duração da retenção de mensagens especificada na opção Duração da retenção de mensagens.
Confira a seguir os valores da opção Período de expiração:
- Valor padrão = 31 dias
- Valor mínimo = 1 dia
Para evitar que uma assinatura expire, defina o período de expiração como never expire.
Prazo de confirmação
A opção Prazo de confirmação especifica o prazo inicial após o qual uma mensagem não confirmada é enviada novamente. É possível estender o prazo de confirmação por mensagem enviando solicitações ModifyAckDeadline subsequentes.
Confira a seguir os valores da opção Prazo de confirmação:
- Valor padrão = 10 segundos
- Valor mínimo = 10 segundos
- Valor máximo = 600 segundos
Em alguns casos, as bibliotecas de cliente do Pub/Sub podem controlar a taxa de entrega e modificar dinamicamente o prazo de confirmação.
Assim, a mensagem pode ser entregue novamente antes do prazo de confirmação
definido por você. Para substituir esse comportamento, use minDurationPerAckExtension
e maxDurationPerAckExtension. Para mais informações sobre como usar esses valores, consulte
Suporte para entrega exatamente uma vez em bibliotecas de cliente.
Transformações de mensagens únicas (SMTs)
Com as SMTs, é possível fazer modificações leves nos atributos e dados das mensagens diretamente no Pub/Sub. Esse recurso permite a limpeza de dados, filtragem ou conversão de formato antes que as mensagens sejam entregues a um cliente assinante.
Para mais informações, consulte Visão geral das SMTs e Criar uma assinatura com SMTs.
Filtro de assinatura
Use a opção Filtro de assinatura para especificar uma string com uma expressão de filtragem. Se uma assinatura tiver um filtro, ela só entregará as mensagens correspondentes a ele. O serviço Pub/Sub reconhece automaticamente as mensagens que não correspondem ao filtro.
É possível filtrar mensagens pelos atributos, mas não pelos dados nelas.
Se não for especificada, a assinatura não filtrará as mensagens, e os inscritos vão receber todas as mensagens.
Depois de aplicados, os filtros não podem ser alterados nem removidos.
Quando você recebe mensagens de uma assinatura com um filtro, não há taxas de saída para as mensagens que o Pub/Sub confirma automaticamente. Sujeito a taxas de entrega de mensagens e taxas de armazenamento relacionadas à busca para essas mensagens.
Para mais informações, consulte Filtrar mensagens de uma assinatura.
Ordenação das mensagens
Por padrão, o Pub/Sub pode não entregar as mensagens na ordem em que são publicadas. Se a ordenação de mensagens estiver ativada para uma assinatura, todas as mensagens enviadas na mesma região, com a mesma chave de ordenação, serão recebidas na ordem em que forem publicadas.
Para que as mensagens sejam recebidas em ordem, o editor precisa definir a chave de ordenação. As mensagens sem uma chave de ordenação podem não ser recebidas em ordem.
Ao usar a entrega ordenada, as confirmações de mensagens posteriores não são processadas até que as de mensagens anteriores sejam processadas. Para mais informações, consulte Ordenar mensagens.
Tópico de mensagens inativas
Quando uma mensagem não pode ser entregue após um número definido de tentativas de entrega ou um assinante não consegue confirmar a mensagem, o Pub/Sub pode republicar a mensagem em um tópico de mensagens inativas configurado.
Se você definir um tópico de mensagens inativas, também será possível especificar o número máximo de tentativas de entrega. O valor padrão é de cinco tentativas de entrega. É possível definir o número máximo de tentativas como qualquer número entre 5 e 100, inclusive.
Se o tópico de mensagens inativas estiver em um projeto diferente da assinatura, também será necessário especificar o ID do projeto com o tópico de mensagens inativas.
Para mais informações, consulte Tópicos de mensagens inativas.
Política de repetição
Se o prazo de confirmação expirar ou um assinante responder com uma confirmação negativa, o Pub/Sub poderá enviar a mensagem novamente. Essa tentativa de reenvio é conhecida como política de novas tentativas da assinatura.
Por padrão, a política de repetição de uma assinatura é definida para usar Tentar de novo imediatamente. Com essa opção, o Pub/Sub reenvia a mensagem quando o prazo de confirmação expira ou um assinante responde com uma confirmação negativa.
Você também pode definir o valor como Repetir após atraso de espera exponencial. Nesse caso, especifique os valores máximo e mínimo de espera.
Confira algumas diretrizes para definir os valores máximo e mínimo de espera:
Se você definir o valor máximo para a duração da espera, o valor padrão para a duração mínima da espera será de 10 segundos.
Se você definir o valor mínimo para a duração da espera, o valor padrão para a duração máxima da espera será de 600 segundos.
A duração de espera mais longa que você pode especificar é de 600 segundos.
Política de repetição e mensagens em lote
Se as mensagens estiverem em lote, o Pub/Sub iniciará a espera exponencial quando uma das seguintes situações ocorrer:
O assinante envia uma confirmação negativa para cada mensagem no lote.
O prazo de confirmação expira.
Política de repetição e assinatura por push
Se você receber mensagens de uma assinatura de push, o Pub/Sub pode reenviá-las após a espera em push em vez da duração da espera exponencial. Quando a espera em push é mais longa do que a duração da espera exponencial, o Pub/Sub reenvia mensagens não confirmadas após a espera em push.