Cette page décrit les propriétés communes à tous les types d'abonnements Pub/Sub. Vous pouvez définir ces propriétés lorsque vous créez ou mettez à jour un abonnement.
Durée de conservation des messages
L'option Durée de conservation des messages spécifie la durée pendant laquelle Pub/Sub conserve les messages après publication. Une fois la durée de conservation des messages écoulée, Pub/Sub peut supprimer le message, quel que soit son état de confirmation. Pour conserver les messages confirmés pendant la durée de conservation définie, consultez Rouvrir et supprimer des messages.
Voici les valeurs de l'option Durée de conservation des messages :
- Valeur par défaut = 7 jours
- Valeur minimale : 10 minutes
- Valeur maximale = 31 jours
Les messages non confirmés peuvent provenir d'abonnements inactifs, de besoins de sauvegarde ou d'un traitement lent. Si vous êtes en mesure de traiter les messages dans les 24 heures, vous n'aurez pas de frais supplémentaires. Pour éviter de nouveaux frais, gérez ces scénarios comme suit :
Abonnements inactifs. Supprimez les abonnements inactifs pour éviter les frais de conservation des messages d'abonnement.
Stockage des sauvegardes. Si vous utilisez la conservation des abonnements comme stockage de sauvegarde, vous pouvez passer à une autre option de stockage, comme la conservation des messages de sujet ou la conservation des messages confirmés. La conservation des messages par sujet stocke les messages une seule fois au niveau du sujet. Ils restent disponibles pour tous les abonnements et peuvent être utilisés en cas de besoin.
Retards de traitement : Ajoutez des abonnés (si possible) pour traiter les messages dans la journée.
Conserver les messages confirmés
Si vous spécifiez une durée de conservation des messages, vous pouvez également indiquer si vous souhaitez conserver les messages confirmés.
L'option Conserver les messages confirmés vous permet de conserver les messages confirmés pendant la durée de conservation des messages spécifiée. Cette option augmente les frais de stockage des messages. Pour en savoir plus, consultez Coûts de stockage.
Délai d'expiration
L'option Période d'expiration vous permet de prolonger la période d'expiration de votre abonnement.
Les abonnements sans activité de la part des abonnés ni modification des propriétés de l'abonnement expirent. Si Pub/Sub détecte une activité d'abonné ou si vous mettez à jour l'une des propriétés de l'abonnement, l'horloge de suppression d'abonnement redémarre. Voici quelques exemples d'activités d'abonné : connexions ouvertes, pulls actifs ou push réussis.
Si vous spécifiez la période d'expiration, la valeur doit être au moins aussi longue que la durée de conservation des messages spécifiée dans l'option Durée de conservation des messages.
Voici les valeurs de l'option Période d'expiration :
- Valeur par défaut : 31 jours
- Valeur minimale : 1 jour
Pour empêcher l'expiration d'un abonnement, définissez le délai d'expiration sur never expire.
Délai de confirmation
L'option Délai d'accusé de réception spécifie le délai initial au-delà duquel un message non confirmé est renvoyé. Vous pouvez prolonger le délai de confirmation pour chaque message en envoyant des requêtes ModifyAckDeadline supplémentaires.
Voici les valeurs de l'option Délai d'accusé de réception :
- Valeur par défaut : 10 secondes
- Valeur minimale : 10 secondes
- Valeur maximale : 600 secondes
Dans certains cas, les bibliothèques clientes Pub/Sub peuvent contrôler la fréquence de distribution et modifier dynamiquement le délai de confirmation.
Dans ce cas, le message peut être renvoyé avant le délai de confirmation de réception que vous avez défini. Pour remplacer ce comportement, utilisez minDurationPerAckExtension et maxDurationPerAckExtension. Pour en savoir plus sur l'utilisation de ces valeurs, consultez Prise en charge de la diffusion exacte dans les bibliothèques clientes.
Transformations de message unique (SMT)
Les transformations de message unique permettent de modifier légèrement les attributs et les données des messages directement dans Pub/Sub. Cette fonctionnalité permet de nettoyer, de filtrer ou de convertir le format des données avant que les messages ne soient envoyés à un client abonné.
Pour en savoir plus, consultez Présentation des SMT et Créer un abonnement avec des SMT.
Filtre d'abonnement
Utilisez l'option Filtre d'abonnement pour spécifier une chaîne avec une expression de filtrage. Si un abonnement comporte un filtre, il diffuse uniquement les messages correspondant à ce filtre. Le service Pub/Sub reconnaît automatiquement les messages qui ne correspondent pas au filtre.
Vous pouvez filtrer les messages en fonction de leurs attributs, mais pas en fonction des données qu'ils contiennent.
Si aucun attribut n'est spécifié, l'abonnement ne filtre pas les messages, et les abonnés reçoivent tous les messages.
Une fois appliqués, les filtres ne peuvent pas être modifiés ni supprimés.
Lorsque vous recevez des messages d'un abonnement avec un filtre, des frais de sortie ne vous sont pas facturés pour les messages reconnus par Pub/Sub. Des frais de distribution de messages et de stockage associé à Seek vous sont facturés pour ces messages.
Pour en savoir plus, consultez Filtrer les messages d'un abonnement.
Tri des messages
Par défaut, Pub/Sub peut ne pas distribuer les messages dans l'ordre dans lequel ils sont publiés. Si l'ordre des messages est activé pour un abonnement, tous les messages envoyés dans la même région, avec la même clé de tri, sont reçus dans l'ordre de leur publication.
Pour que les messages soient reçus dans l'ordre, l'éditeur doit définir la clé de tri. Il est possible que les messages sans clé de tri ne soient pas reçus dans l'ordre.
Lorsque vous utilisez la distribution ordonnée, les confirmations des messages ultérieurs ne sont traitées qu'une fois celles des messages précédents traitées. Pour en savoir plus, consultez Trier des messages.
Sujet des lettres mortes
Lorsqu'un message ne peut pas être distribué après un certain nombre de tentatives d'envoi ou qu'un abonné ne peut pas en accuser réception, Pub/Sub peut republier le message dans un file d'attente de lettres mortes configuré.
Si vous définissez un file d'attente de lettres mortes, vous pouvez également spécifier le nombre maximal de tentatives de distribution. La valeur par défaut est de cinq tentatives de livraison. Vous pouvez définir le nombre maximal de tentatives sur n'importe quel nombre compris entre 5 et 100, inclus.
Si le file d'attente de lettres mortes se trouve dans un projet différent de celui de l'abonnement, vous devez également spécifier l'ID de projet avec le file d'attente de lettres mortes.
Pour en savoir plus, consultez Sujets de lettres mortes.
Stratégie de nouvelle tentative
Si le délai de confirmation arrive à expiration ou si un abonné répond avec un accusé de réception négatif, Pub/Sub peut renvoyer le message. Cette tentative de nouvelle distribution est appelée stratégie de nouvelle tentative de l'abonnement.
Par défaut, la stratégie de nouvelle tentative d'un abonnement est définie sur Réessayer immédiatement. Avec cette option, Pub/Sub renvoie le message lorsque le délai de confirmation expire ou si un abonné répond avec un accusé de réception négatif.
Vous pouvez également définir la valeur sur Réessayer après l'intervalle exponentiel entre les tentatives. Dans ce cas, vous devez spécifier les valeurs maximale et minimale de l'intervalle entre les tentatives.
Voici quelques consignes pour définir les valeurs de délai avant nouvelle tentative maximal et minimal :
Si vous définissez la valeur maximale de la durée de l'intervalle entre les tentatives, la valeur par défaut de la durée minimale de l'intervalle entre les tentatives est de 10 secondes.
Si vous définissez la valeur minimale de l'intervalle entre les tentatives, la valeur par défaut de l'intervalle maximal entre les tentatives est de 600 secondes.
L'intervalle maximal entre les tentatives que vous pouvez spécifier est 600 secondes.
Stratégie de nouvelle tentative et messages groupés
Si les messages se trouvent dans un lot, Pub/Sub démarre l'intervalle exponentiel entre les tentatives lorsque l'un des événements suivants se produit :
L'abonné envoie un accusé de réception négatif pour chaque message du lot.
Le délai de confirmation expire.
Stratégie de nouvelle tentative et abonnement push
Si vous recevez des messages provenant d'un abonnement push, Pub/Sub peut les renvoyer après l'intervalle entre les tentatives push plutôt que l'intervalle exponentiel entre les tentatives. Lorsque l'intervalle push est plus long que l'intervalle exponentiel, Pub/Sub distribue à nouveau les messages non confirmés après l'intervalle push.