Guida introduttiva: Pubblicare e sottoscrivere messaggi MQTT nello spazio dei nomi di Griglia di eventi con il portale di Azure
In questo argomento di avvio rapido si userà il portale di Azure per creare uno spazio dei nomi di Griglia di eventi con il broker MQTT abilitato, creare sotto-risorse come client, gruppi client e spazi argomento, concedere ai client l'accesso a spazi di pubblicazione e sottoscrizione agli spazi degli argomenti e quindi pubblicare e ricevere messaggi tra i client.
Prerequisiti
- Creare un account Azure gratuito Se non si ha una sottoscrizione di Azure.
- Leggere la panoramica di Griglia di eventi prima di iniziare questa esercitazione, se non si ha familiarità con Griglia di eventi di Azure.
- Assicurarsi che la porta 8883 sia aperta nel firewall. L'esempio di questa esercitazione usa il protocollo MQTT, che comunica tramite la porta 8883. Questa porta potrebbe essere bloccata in alcuni ambienti di rete aziendali e didattici.
- È necessario un certificato client X.509 per generare l'identificazione personale e autenticare la connessione client.
Generare un certificato client di esempio e un'identificazione personale
Se non si ha già un certificato, è possibile creare un certificato di esempio usando l'interfaccia della riga di comando del passaggio. Prendere in considerazione l'installazione manuale per Windows.
Dopo aver completato l'installazione di Step, è necessario aprire un prompt dei comandi nella cartella del profilo utente (tipo Win+R %USERPROFILE%).
Per creare certificati radice e intermedi, eseguire il comando seguente. Ricordare la password, che deve essere usata nel passaggio successivo.
step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
Usare i file della CA generati per creare un certificato per il primo client. Assicurarsi di usare il percorso corretto per i file di certificato e segreti nel comando .
step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
Per visualizzare l'identificazione personale, eseguire il comando Step.
step certificate fingerprint client1-authn-ID.pem
Creare ora un certificato per il secondo client.
step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
Per visualizzare l'identificazione personale da usare con il secondo client, eseguire il comando Step.
step certificate fingerprint client2-authn-ID.pem
Creare uno spazio dei nomi
Accedi al portale di Azure.
Nella barra di ricerca digitare Spazi dei nomi di Griglia di eventi e quindi selezionare Spazi dei nomi di Griglia di eventi nell'elenco a discesa.
Nella pagina Spazi dei nomi di Griglia di eventi selezionare + Crea sulla barra degli strumenti.
Nella pagina Crea spazio dei nomi seguire questa procedura:
Seleziona la tua sottoscrizione di Azure.
Selezionare un gruppo di risorse esistente o selezionare Crea nuovo e immettere un nome per il gruppo di risorse.
Specificare un nome univoco per lo spazio dei nomi. Il nome dello spazio dei nomi deve essere univoco per area perché rappresenta una voce DNS. Non usare il nome visualizzato nell'immagine In alternativa, creare un nome personalizzato di lunghezza compresa tra 3 e 50 caratteri e contenente solo valori compresi tra a e z, A e Z, 0 e 9 e
-
.Selezionare un percorso per lo spazio dei nomi di Griglia di eventi. Attualmente, lo spazio dei nomi di Griglia di eventi è disponibile solo nelle aree selezionate.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella scheda Rivedi e crea della pagina Crea spazio dei nomi selezionare Crea.
Nota
Per semplificare l'avvio rapido, si userà solo la pagina Informazioni di base per creare uno spazio dei nomi. Per i passaggi dettagliati sulla configurazione di rete, sicurezza e altre impostazioni in altre pagine della procedura guidata, vedere Creare uno spazio dei nomi.
Al termine della distribuzione, selezionare Vai alla risorsa per passare alla pagina Panoramica dello spazio dei nomi di Griglia di eventi per lo spazio dei nomi.
Nella pagina Panoramica si noterà che lo stato del broker MQTT è Disabilitato . Per abilitare il broker MQTT, selezionare il collegamento Disabilitato , verrà reindirizzato alla pagina Configurazione.
Nella pagina Configurazione selezionare l'opzione Abilita broker MQTT e quindi selezionare Applica per applicare le impostazioni.
Creare client
Nel menu a sinistra selezionare Client nella sezione broker MQTT.
Nella pagina Client selezionare + Client sulla barra degli strumenti.
Nella pagina Crea client immettere un nome per il client. I nomi dei client devono essere univoci in uno spazio dei nomi.
Per impostazione predefinita, il nome dell'autenticazione client è impostato sul nome del client. Per questa esercitazione, modificarlo in
client1-authn-ID
. È necessario includere questo nome comeUsername
nel pacchetto CONNECT.In questa esercitazione si usa l'autenticazione basata sull'identificazione personale. Includere l'identificazione personale del primo certificato client nell'identificazione personale primaria.
Selezionare Crea sulla barra degli strumenti per creare un altro client.
Ripetere i passaggi precedenti per creare un secondo client denominato
client2
. Modificare il nome dell'autenticazione inclient2-authn-ID
e includere l'identificazione personale del secondo certificato client nell'identificazione personale primaria.Nota
- Per semplificare l'avvio rapido, si userà la corrispondenza identificazione personale per l'autenticazione. Per i passaggi dettagliati sull'uso della catena di certificati della CA X.509 per l'autenticazione client, vedere Autenticazione client tramite catena di certificati.
- Viene inoltre usato il gruppo client predefinito
$all
, che include tutti i client nello spazio dei nomi per questo esercizio. Per altre informazioni sulla creazione di gruppi client personalizzati tramite attributi client, vedere Gruppi client.
Creare spazi argomento
Nel menu a sinistra selezionare Spazi argomento nella sezione broker MQTT.
Nella pagina Spazi argomento selezionare + Spazio argomento sulla barra degli strumenti.
Specificare un nome per lo spazio dell'argomento nella pagina Crea spazio argomenti.
Immettere
contosotopics/topic1
per il modello di argomento e quindi selezionare Crea per creare lo spazio dell'argomento.
Configurazione del controllo di accesso tramite associazioni di autorizzazioni
Nel menu a sinistra selezionare Associazioni di autorizzazioni nella sezione broker MQTT.
Nella pagina Associazioni autorizzazioni selezionare + Binding di autorizzazioni sulla barra degli strumenti.
Configurare l'associazione di autorizzazioni come indicato di seguito:
Specificare un nome per l'associazione di autorizzazioni. Ad esempio:
contosopublisherbinding
.Per nome del gruppo client selezionare $all.
Per Nome spazio argomento selezionare lo spazio dell'argomento creato nel passaggio precedente.
Concedere all'autore l'autorizzazione al gruppo client nello spazio dell'argomento.
Selezionare Crea per creare l'associazione di autorizzazioni.
Creare un'altra associazione di autorizzazioni (
contososubscriberbinding
) selezionando + Associazione di autorizzazioni sulla barra degli strumenti.Specificare un nome e assegnare $all'accesso al Sottoscrittore del gruppo client a ContosoTopicSpace, come illustrato.
Selezionare Crea per creare l'associazione di autorizzazioni.
Connessione dei client allo spazio dei nomi EG tramite l'app MQTTX
Per i messaggi MQTT di pubblicazione/sottoscrizione, è possibile usare uno degli strumenti preferiti. A scopo dimostrativo, la pubblicazione/sottoscrizione viene visualizzata usando l'app MQTTX, che può essere scaricata da https://mqttx.app/.
Selezionare + sulla barra di spostamento a sinistra.
Configurare client1 con
Nome come
client1
(questo valore può essere qualsiasi elemento)ID client come
client1-session1
(ID client nel pacchetto CONNECT viene usato per identificare l'ID sessione per la connessione client)Nome utente come
client1-authn-ID
. Questo valore deve corrispondere al valore di Nome autenticazione client specificato al momento della creazione del client nel portale di Azure.Importante
Il nome utente deve corrispondere al nome di autenticazione client nei metadati client.
Aggiornare il nome host al nome host MQTT dalla pagina Panoramica dello spazio dei nomi.
Aggiornare la porta a 8883.
Attivare o disattivare SSL/TLS .
Attivare o disattivare SSL Secure su ON per garantire la convalida del certificato del servizio.
Selezionare Certificato come CA o Certificati autofirmato.
Specificare il percorso del file di certificato client.
Specificare il percorso del file di chiave client.
Le altre impostazioni possono essere lasciate con valori predefiniti.
Selezionare Connetti per connettere il client al broker MQTT.
Ripetere i passaggi precedenti per connettere il secondo client client2, con le informazioni di autenticazione corrispondenti, come illustrato.
Pubblicare/sottoscrivere con l'app MQTTX
Dopo aver connesso i client, per client2, selezionare il pulsante + Nuova sottoscrizione .
Aggiungi
contosotopics/topic1
come argomento e seleziona Conferma. È possibile lasciare gli altri campi con i valori predefiniti esistenti.Selezionare client1 nella barra sinistra.
Per client1, nella parte superiore della casella di composizione del messaggio, digitare
contosotopics/topic1
come argomento in cui eseguire la pubblicazione.Comporre un messaggio. È possibile usare qualsiasi formato o JSON, come illustrato.
Selezionare il pulsante Invia.
Il messaggio deve essere visualizzato come pubblicato nel client 1.
Passare a client2. Verificare che client2 abbia ricevuto il messaggio.