Filtrado de mensajes de Amazon SNS para temas FIFO - Amazon Simple Notification Service

Filtrado de mensajes de Amazon SNS para temas FIFO

Los temas FIFO de Amazon SNS admiten el filtrado de mensajes. Si utiliza el filtrado de mensajes, se simplifica la arquitectura al descargar la lógica de enrutamiento de mensajes de los sistemas de publicadores y la lógica de filtrado de mensajes de los sistemas de suscriptores.

Cuando suscribe una cola FIFO o estándar de Amazon SQS a un tema FIFO de SNS, puede utilizar el filtrado de mensajes para especificar que el suscriptor recibe un subconjunto de mensajes, en lugar de todos ellos. Cada suscriptor puede establecer su propia política de filtrado como atributos de suscripción. En función de su alcance, la política de filtrado se compara con los atributos o el cuerpo del mensaje entrante. Si la política de filtrado coincide, el tema ofrece una copia del mensaje al suscriptor. Si no hay coincidencia, el tema no entrega una copia del mensaje.

En el caso de uso de ejemplo de administración de precios de partes de automóviles, suponga que se establecen las siguientes políticas de filtrado de Amazon SNS y el alcance de la política de filtrado es MessageBody:

  • Para la cola mayorista, la política de filtrado {"business":["wholesale"]} coincide con cada mensaje que contiene una clave llamada business y con wholesale en el conjunto de valores. En el siguiente diagrama, una de las claves del mensaje m1 es business con el valor de wholesale. Una de las claves del mensaje m3 es business con un valor de ["wholesale,retail"]. Por lo tanto, m1 y m3 coinciden con los criterios de la política de filtro y ambos mensajes se entregan a la cola mayorista.

  • Para la cola minorista, la política de filtrado {"business":["retail"]} coincide con cada mensaje que contiene una clave llamada business y con retail en el conjunto de valores. En el diagrama, una de las claves del mensaje m2 es business con el valor de retail. Una de las claves del mensaje m3 es business con el valor de ["wholesale,retail"]. Por lo tanto, m2 y m3 coinciden con los criterios de la política de filtro y ambos mensajes se entregan a la cola minorista.

  • Para la cola de análisis, deseamos que Amazon Athena reciba todos los registros, por lo que no se aplica ninguna política de filtrado.

Ejemplo de cómo los temas FIFO de Amazon SNS utilizan políticas de filtrado para enrutar los mensajes a diferentes colas de Amazon SQS en función de su contenido. Los mensajes m1 y m3 con la clave “business” establecida en “wholesale” se entregan a la cola de venta al por mayor, mientras que los mensajes m2 con “retail” especificado se envían a la cola de venta al por menor. Esto demuestra una entrega de mensajes específica, lo que garantiza que cada suscriptor reciba solo los mensajes relevantes, además de optimizar la eficiencia del procesamiento y la relevancia de los datos.

Los temas FIFO de SNS admiten una variedad de operadores coincidentes, incluidos valores de cadena de atributos, valores numéricos de atributo y claves de atributo. Para obtener más información, consulte Filtrado de mensajes en Amazon SNS.

Los temas FIFO de SNS no entregan mensajes duplicados a los puntos de enlace suscritos. Para obtener más información, consulte Desduplicación de mensajes de Amazon SNS para temas FIFO.