Condividi tramite


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%).

  1. 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
    
  2. 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
    
  3. Per visualizzare l'identificazione personale, eseguire il comando Step.

    step certificate fingerprint client1-authn-ID.pem
    
  4. 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
    
  5. 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

  1. Accedi al portale di Azure.

  2. 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.

    Screenshot della ricerca dello spazio dei nomi di Griglia di eventi in portale di Azure.

  3. Nella pagina Spazi dei nomi di Griglia di eventi selezionare + Crea sulla barra degli strumenti.

  4. Nella pagina Crea spazio dei nomi seguire questa procedura:

    1. Seleziona la tua sottoscrizione di Azure.

    2. Selezionare un gruppo di risorse esistente o selezionare Crea nuovo e immettere un nome per il gruppo di risorse.

    3. 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 -.

    4. 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.

      Screenshot che mostra la scheda Informazioni di base sulla creazione del flusso dello spazio dei nomi di Griglia di eventi.

  5. Selezionare Rivedi e crea nella parte inferiore della pagina.

  6. 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.

  7. 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.

  8. 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.

  9. Nella pagina Configurazione selezionare l'opzione Abilita broker MQTT e quindi selezionare Applica per applicare le impostazioni.

    Screenshot che mostra la pagina di configurazione dello spazio dei nomi di Griglia di eventi per abilitare MQTT.

Creare client

  1. Nel menu a sinistra selezionare Client nella sezione broker MQTT.

  2. Nella pagina Client selezionare + Client sulla barra degli strumenti.

    Screenshot della pagina Client con il pulsante Aggiungi selezionato.

  3. Nella pagina Crea client immettere un nome per il client. I nomi dei client devono essere univoci in uno spazio dei nomi.

  4. 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 come Username nel pacchetto CONNECT.

  5. In questa esercitazione si usa l'autenticazione basata sull'identificazione personale. Includere l'identificazione personale del primo certificato client nell'identificazione personale primaria.

    Screenshot della configurazione del client 1.

  6. Selezionare Crea sulla barra degli strumenti per creare un altro client.

  7. Ripetere i passaggi precedenti per creare un secondo client denominato client2. Modificare il nome dell'autenticazione in client2-authn-ID e includere l'identificazione personale del secondo certificato client nell'identificazione personale primaria.

    Screenshot della configurazione del client 2.

    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

  1. Nel menu a sinistra selezionare Spazi argomento nella sezione broker MQTT.

  2. Nella pagina Spazi argomento selezionare + Spazio argomento sulla barra degli strumenti.

    Screenshot della pagina Spazi argomento con il pulsante Crea selezionato.

  3. Specificare un nome per lo spazio dell'argomento nella pagina Crea spazio argomenti.

    Screenshot di Crea spazio dell'argomento con il nome.

  4. Immettere contosotopics/topic1 per il modello di argomento e quindi selezionare Crea per creare lo spazio dell'argomento.

    Screenshot della configurazione dello spazio degli argomenti.

Configurazione del controllo di accesso tramite associazioni di autorizzazioni

  1. Nel menu a sinistra selezionare Associazioni di autorizzazioni nella sezione broker MQTT.

  2. Nella pagina Associazioni autorizzazioni selezionare + Binding di autorizzazioni sulla barra degli strumenti.

    Screenshot che mostra la pagina Binding di autorizzazioni con il pulsante Crea selezionato.

  3. Configurare l'associazione di autorizzazioni come indicato di seguito:

    1. Specificare un nome per l'associazione di autorizzazioni. Ad esempio: contosopublisherbinding.

    2. Per nome del gruppo client selezionare $all.

    3. Per Nome spazio argomento selezionare lo spazio dell'argomento creato nel passaggio precedente.

    4. Concedere all'autore l'autorizzazione al gruppo client nello spazio dell'argomento.

      Screenshot che mostra la creazione del primo binding di autorizzazioni.

  4. Selezionare Crea per creare l'associazione di autorizzazioni.

  5. Creare un'altra associazione di autorizzazioni (contososubscriberbinding) selezionando + Associazione di autorizzazioni sulla barra degli strumenti.

  6. Specificare un nome e assegnare $all'accesso al Sottoscrittore del gruppo client a ContosoTopicSpace, come illustrato.

    Screenshot che mostra la creazione della seconda associazione di autorizzazioni.

  7. Selezionare Crea per creare l'associazione di autorizzazioni.

Connessione dei client allo spazio dei nomi EG tramite l'app MQTTX

  1. 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/.

  2. Selezionare + sulla barra di spostamento a sinistra.

  3. 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.

  4. Aggiornare il nome host al nome host MQTT dalla pagina Panoramica dello spazio dei nomi.

    Screenshot che mostra la pagina di panoramica dello spazio dei nomi di Griglia di eventi con nome host MQTT.

  5. Aggiornare la porta a 8883.

  6. Attivare o disattivare SSL/TLS .

  7. Attivare o disattivare SSL Secure su ON per garantire la convalida del certificato del servizio.

  8. Selezionare Certificato come CA o Certificati autofirmato.

  9. Specificare il percorso del file di certificato client.

  10. Specificare il percorso del file di chiave client.

  11. Le altre impostazioni possono essere lasciate con valori predefiniti.

    Screenshot che mostra la parte 1 di configurazione del client 1 nell'app MQTTX.

  12. Selezionare Connetti per connettere il client al broker MQTT.

  13. Ripetere i passaggi precedenti per connettere il secondo client client2, con le informazioni di autenticazione corrispondenti, come illustrato.

    Screenshot che mostra la parte 1 della configurazione client 1 nell'app MQTTX.

    Screenshot che mostra la parte 2 di configurazione client 2 nell'app MQTTX.

Pubblicare/sottoscrivere con l'app MQTTX

  1. Dopo aver connesso i client, per client2, selezionare il pulsante + Nuova sottoscrizione .

  2. Aggiungi contosotopics/topic1 come argomento e seleziona Conferma. È possibile lasciare gli altri campi con i valori predefiniti esistenti.

    Screenshot che mostra la configurazione dell'argomento della sottoscrizione nell'app MQTTX.

  3. Selezionare client1 nella barra sinistra.

  4. Per client1, nella parte superiore della casella di composizione del messaggio, digitare contosotopics/topic1 come argomento in cui eseguire la pubblicazione.

  5. Comporre un messaggio. È possibile usare qualsiasi formato o JSON, come illustrato.

  6. Selezionare il pulsante Invia.

    Screenshot che mostra la pubblicazione di messaggi nell'argomento nell'app MQTTX.

  7. Il messaggio deve essere visualizzato come pubblicato nel client 1.

    Screenshot che mostra il messaggio pubblicato nell'argomento nell'app MQTTX.

  8. Passare a client2. Verificare che client2 abbia ricevuto il messaggio.

    Screenshot che mostra il messaggio ricevuto dal client di sottoscrizione nell'app MQTTX.