Gestionando y usando el Stashing de MyQttHub: almacenando mensajes MQTT encajando con ciertos filtros


#1

Introducción al Stashing de MyQtthub

La función de Stashing permite crear un almacenamiento ordenado de mensajes PUBLISH ordenados. Sólo los mensajes configurados para que encajen con el filtro serán (stashed) almacenados en el Stash.

Al crear un Stash y almacenar mensajes (Stashing), está creando un registro de mensajes ordenados que registra los mensajes que encajan (con los filtros usando dicho Stash). Junto con el mensaje, también se almacena cuando se recibió, la IP de origen y datos adicionales.

Esto asegura que no perderá ningún mensaje, incluso por problemas de hardware en los receptores MQTT.

Desde este almacenamiento (Stash), por ejemplo, puede reenviar estos mensajes de manear que pueda activar las acciones asociadas a dicho mensaje, saber su momento de recepción, etc.

Creando un Stash

  1. Para empezar con el Stashing, primero tiene que crear un Stash. Esto se hace pinchando en el menú principal:
    image

  2. Luego pulsando sobre “Stashes”:
    image

  3. Luego pulse añadir un stash:
    image

  4. Ahora defina el nombre único del Stash y alguna descripción:
    image

Ahora que ya tiene su Stash creado, necesita decirle al motor MyQttHub que mensajes tiene que almacenar (Stashing). Esto se hace creando un filtro que use dicho stash con el tipo de regla limit-PUBLISH.

Ahora pulse sobre la pestaña de Stash y configure el Stash a usar cuando la regla encaje (se active):
image

Note que hemos configura la regla con limit-PUBLISH. Esto es debido a que la función de stashing sólo se activa con la recepción de mensajes (PUBLISH). Note también que hemos configurado priority 5 y acción/permiso a “Dunno/continue”. Esto es debido a que queremos que esta regla haga Stash de todo lo que encaje sin considerar si el mensaje será aceptado o descartado por una regla más adelante.

Como puede ver, puede configurar el filtro de stashing al principio o al final de su cadena de reglas (creando diferentes resultados). También puede activar el Stashing solo para topics denegados/rechazados o sólo hacer stashing de mensajes aceptados.

Ahora, publique una lista de mensajes encajando con el Stash que acaba de crear. En este ejemplo estamos haciendo stashing de mensajes encajando con test/messages/#. Para este propósito publique 3 mensajes con el topic test/messages/1, 3 más con el topic test/messages/2 y 3 más con el topic test/messages/3.

Ahora compruebe su stash para ver cuantos mensajes tiene almacenados y en qué orden fueron recibidos.

Cómo listar los mensajes almacenados en un Stash con MyQttHub

  1. Vaya a stashes y pulse sobre la carta:
    image

  2. Ahora verá los mensajes que hay almacenados (stashed):