Abbiamo visto nello script #273 come possiamo sfruttare Event Grid per avere un endpoint MQTT 5 con il quale mandare e ricevere messaggi per un uso sul cloud o in edge. L'utilizzo dei topic, parte centrale del protocollo, è vincolato dai permessi che indicano ai client cosa possono fare e in quali topic possono scrivere. Attraverso i permission binding possiamo indicare tutto questo ma facendo riferimento ai client group. Ne esiste uno predefinito di nome $all, ma come vediamo in questo script, possiamo crearne degli altri per poter identificare un gruppo di client in base ai loro attributi.
Prima di tutto dobbiamo quindi andare all'interno dei client e specificare uno o più attributi che li caratterizzano, come mostrato nella figura seguente.

Successivamente possiamo procedere alla creazione di un gruppo e sfruttare la query per filtrare i client in base al loro attributo. Nell'esempio seguente filtriamo in base all'attributo type che deve essere uguale a iot.

Le possibilità di filtro non sono molte, ma sufficienti per la maggior parte degli scopi. Possiamo usare operatori logici come per esempio (attributes.sensors = "motion" or attributes.sensors = "humidity") or attributes.type = "home-sensors", gli operatori matematici, come per esempio attributes.floor <= 5 e l'operatore IN, come per esempio authenticationName IN ['client1', 'client2'].
A questo punto procediamo con il permssion binding, indicando il gruppo appena creato.

Non esiste per il momento la possibilità di vedere quali client soddisfano questi criteri, ma bisogna considerare che questi gruppi non sono pensati per essere numerosi. Possiamo arrivare fino a 10 gruppi, perciò, è fondamentale usare dei criteri che abbracciano molteplici client.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Keynote .NET Conference Italia 2025
Rendere affidabile lo scale out su Azure App Service
Effettuare chiamate API tramite GitHub App
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Creare una cache temporanea in JavaScript
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Welcome to Future Dev Day 2026
Ottimizzare le API in ASP.NET con Feature Flags
Integrare Agenti A2A in Azure API Management
Azure SQL Database per dev: tutte le novità da non perdere
Semplificare i deployment con le label in Azure Container App


