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 llamadabusiness
y conwholesale
en el conjunto de valores. En el siguiente diagrama, una de las claves del mensaje m1 esbusiness
con el valor dewholesale
. Una de las claves del mensaje m3 esbusiness
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 llamadabusiness
y conretail
en el conjunto de valores. En el diagrama, una de las claves del mensaje m2 esbusiness
con el valor deretail
. Una de las claves del mensaje m3 esbusiness
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.
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.