Tous les produits
Search
Centre de documentation

Simple Message Queue (formerly MNS):Filtrage des messages

Dernière mise à jour :Aug 10, 2026

La fonctionnalité de filtrage des messages du service Message Service (MNS) vous permet d'acheminer les messages d'un sujet vers différents abonnements en fonction de tags. Cette rubrique explique le fonctionnement du filtrage des messages et décrit comment définir les tags de filtrage.

Contexte

Par défaut, un abonnement à un sujet reçoit tous les messages qui y sont publiés.

Si un abonnement est configuré avec un tag de filtrage de message, il ne reçoit que les messages dont le tag correspond au tag de filtrage de l'abonnement.

Si un abonnement ne possède pas de tag de filtrage de message, il reçoit tous les messages du sujet, qu'ils soient ou non accompagnés d'un tag.

Fonctionnement

Le schéma ci-dessous illustre le filtrage des messages portant différents tags par les abonnements dotés de tags de filtrage, ainsi que leur transmission vers les files d'attente de destination.

过滤标签

Dans ce schéma, le Sujet 1 compte trois abonnements. Les abonnements 1 et 2 disposent de tags de filtrage de message différents, tandis que l'abonnement 3 n'en possède aucun. Les endpoints respectifs de ces abonnements sont la File d'attente 1, la File d'attente 2 et la File d'attente 3.

  • Le tag du message correspond au tag de filtrage de l'abonnement. Le processus de filtrage se déroule comme suit :

    • Le service Message Service (MNS) transmet le Message 1 à la File d'attente 1.

    • Le service Message Service (MNS) transmet le Message 2 à la File d'attente 2.

  • L'abonnement ne possède aucun tag de filtrage de message. Le processus de filtrage se déroule comme suit :

    • Le service Message Service (MNS) transmet le Message 1 à la File d'attente 3.

    • Le service Message Service (MNS) transmet le Message 2 à la File d'attente 3.

    • Le service Message Service (MNS) transmet le Message 3 à la File d'attente 3.

Définir un tag de filtrage de message

Cet exemple montre comment configurer un tag de filtrage pour un abonnement afin de filtrer les messages provenant de TopicA. Seuls les messages associés au tag de message tag-a seront transmis à QueueB. Pour savoir comment créer un abonnement à un sujet, consultez la rubrique Créer un abonnement.

  1. Dans le panneau Create Subscription, saisissez tag-a dans le champ Message Filtering Tag pour filtrer les messages de TopicA et les transmettre à QueueB.

    Définissez la retry policy sur Backoff Retry et le message push format sur SIMPLIFIED.

  2. Pour activer le filtrage, attribuez également un tag de message correspondant lors de la publication d'un message via un SDK. Pour obtenir un exemple de code complet, reportez-vous à l'étape Étape 5 : Publier un message.

    L'extrait de code suivant montre comment définir un tag de message lors de la publication d'un message sur un sujet :

    	TopicMessage message = new Base64TopicMessage();
        // Set the tag to match the subscription's message filtering tag.
        message.setMessageTag("tag-a");