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
Gestire la cancellazione di una richiesta in streaming da Blazor
Generare velocemente pagine CRUD in Blazor con QuickGrid
Creare una libreria CSS universale - Rotazione degli elementi
Gestire gli accessi con Token su Azure Container Registry
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Disabilitare automaticamente un workflow di GitHub (parte 2)
Sfruttare al massimo i topic space di Event Grid MQTT
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare gRPC su App Service di Azure
Ottimizzare le performance usando Span<T> e il metodo Split