Informazioni di riferimento - Endpoint dell'hub IoT

Nomi dell'hub IoT

È possibile trovare il nome dell'hub IoT che ospita gli endpoint nel portale sul pannello Panoramica. Per impostazione predefinita, il nome DNS di un hub IoT è simile al seguente: {your iot hub name}.azure-devices.net.

È possibile usare il DNS di Azure per creare un nome DNS personalizzato per l'hub IoT. Per altre informazioni, vedere Usare il servizio DNS di Azure per specificare impostazioni di dominio personalizzate per un servizio di Azure.

Elenco di endpoint dell'hub IoT incorporati

L'hub IoT di Azure è un servizio multi-tenant che espone le proprie funzionalità a diversi attori. Il diagramma seguente mostra i vari endpoint esposti dall'hub IoT.

Endpoint hub IoT

L'elenco seguente offre una descrizione degli endpoint:

  • Provider di risorse. Il provider di risorse dell'hub IoT espone un'interfaccia Azure Resource Manager. Questa interfaccia consente ai proprietari della sottoscrizione di Azure di creare ed eliminare gli hub IoT, nonché di aggiornare le proprietà degli hub IoT. Le proprietà dell'hub IoT disciplinano i criteri di sicurezza a livello di hub, in contrasto con il controllo di accesso a livello di dispositivo, e le opzioni funzionali per la messaggistica da cloud a dispositivo e da dispositivo a cloud. Il provider di risorse dell'hub IoT consente anche di esportare le identità dei dispositivi.
  • Gestione delle identità dei dispositivi. Ogni hub IoT espone un set di endpoint REST HTTP per gestire le identità dei dispositivi (per operazioni di creazione, recupero, aggiornamento ed eliminazione). Le identità dei dispositivi vengono usate per l'autenticazione dei dispositivi e il controllo di accesso.
  • Gestione dei dispositivi gemelli. Ogni hub IoT espone un set di endpoint HTTP REST orientati ai servizi per eseguire query e aggiornare dispositivi gemelli (aggiornare tag e proprietà).
  • Gestione dei processi. Ogni hub IoT espone un set di endpoint HTTP REST orientati ai servizi per eseguire query e gestire i processi.
  • Endpoint del dispositivo. Per ogni dispositivo nel registro delle identità, l'hub IoT espone un set di endpoint:

    • Invio di messaggi da dispositivo a cloud. Un dispositivo uso questo endpoint per inviare messaggi da dispositivo a cloud.
    • Ricezione di messaggi da cloud a dispositivo. Il dispositivo usa questo endpoint per ricevere messaggi da cloud a dispositivo specifici.
    • Avvio di caricamenti di file. Il dispositivo usa questo endpoint per ricevere un URI di firma di accesso condiviso di Archiviazione di Azure dall'hub IoT per il caricamento di un file.
    • Recuperare e aggiornare le proprietà dei dispositivi gemelli. Un dispositivo usa questo endpoint per accedere alle relative proprietà del dispositivo gemello.
    • Ricezione di richieste di metodi diretti. Un dispositivo usa questo endpoint per ascoltare le richieste di metodi diretti.

      Questi endpoint vengono esposti con i protocolli MQTT v3.1.1, HTTP 1.1 e AMQP 1.0. AMQP è disponibile anche su WebSocket sulla porta 443.

      Gli endpoint di dispositivi gemelli e metodi sono disponibili solo quando si usa il protocollo MQTT v3.1.1.

  • Endpoint di servizio. Ogni hub IoT espone un set di endpoint per il back-end della soluzione per comunicare con i dispositivi. Con una eccezione, questi endpoint sono esposti solo tramite il protocollo AMQP. Tramite il protocollo HTTP viene esposto l'endpoint di chiamata del metodo.

    • Ricezione di messaggi da dispositivo a cloud. Questo endpoint è compatibile con Hub eventi di Azure e può essere usato da un servizio back-end per leggere i messaggi da dispositivo a cloud inviati dai dispositivi. Oltre a questo endpoint predefinito, è possibile creare endpoint personalizzati sull'hub IoT.
    • Invio di messaggi da cloud a dispositivo e ricezione di acknowledgement di recapito. Questi endpoint consentono al back-end della soluzione di inviare messaggi da cloud a dispositivo affidabili e di ricevere gli acknowledgment di recapito o di scadenza corrispondenti.
    • Ricezione di notifiche relative ai file. Questo endpoint di messaggistica consente di ricevere notifiche quando i dispositivi completano il caricamento di un file.
    • Chiamata diretta al metodo. Questo endpoint consente a un servizio back-end di richiamare un metodo diretto in un dispositivo.
    • Ricezione di eventi di monitoraggio delle operazioni. Questo endpoint consente di ricevere gli eventi di monitoraggio delle operazioni, se l'hub IoT è stato configurato per generarli. Per altre informazioni, vedere Monitoraggio delle operazioni dell'hub IoT.

L'articolo Azure IoT SDKs (SDK di IoT di Azure) descrive le varie modalità di accesso a questi endpoint.

Tutti gli endpoint dell'hub IoT usano il protocollo TLS e non vengono mai esposti su canali non crittografati o non protetti.

Endpoint personalizzati

È possibile collegare i servizi di Azure esistenti nella sottoscrizione all'hub IoT che agiranno come endpoint per il routing dei messaggi. Questi endpoint agiscono come endpoint di servizio e vengono usati come sink per il ruoting dei messaggi. I dispositivi non possono scrivere direttamente sugli endpoint aggiuntivi. Per ulteriori informazioni sul routing dei messaggi, vedere la voce della guida per gli sviluppatori relativa a invio e ricezione di messaggi con hub IoT.

Hub IoT supporta attualmente i servizi di Azure seguenti come endpoint aggiuntivi:

  • Hub eventi
  • Code del bus di servizio
  • Argomenti del bus di servizio

Hub IoT richiede l'accesso in scrittura a questi endpoint di servizio affinché il routing dei messaggi funzioni correttamente. Se si configurano gli endpoint tramite il Portale di Azure, verranno aggiunte le autorizzazioni necessarie. Accertarsi di configurare i servizi per supportare la velocità effettiva prevista. Durante la prima configurazione della soluzione IoT, potrebbe essere necessario monitorare gli endpoint aggiuntivi e quindi apportare le modifiche necessarie per il carico effettivo.

Se un messaggio corrisponde a più percorsi che puntano allo stesso endpoint, hub IoT invia il messaggio a questo endpoint una sola volta. Pertanto, non è necessario configurare la deduplicazione nella coda o nell'argomento del bus di servizio. Nelle code partizionate, l'affinità della partizione garantisce l'ordinamento dei messaggi.

Nota

Nelle code e negli argomenti del bus di servizio usati come endpoint dell'hub IoT non devono essere abilitati le sessioni e il rilevamento duplicati. Se una di queste opzioni è abilitata, l'endpoint risulta non raggiungibile nel portale di Azure.

Per i limiti sul numero di endpoint che è possibile aggiungere, vedere Quotas and throttling (Quote e limitazioni).

Gateway sul campo

In una soluzione IoT un gateway sul campo è posizionato tra i dispositivi e l'hub IoT e in genere si trova vicino ai dispositivi. I dispositivi comunicano direttamente con il gateway sul campo tramite un protocollo supportato dai dispositivi. Il gateway sul campo si connette a un endpoint dell'hub IoT usando un protocollo supportato dall'hub IoT. Un gateway sul campo potrebbe essere un dispositivo hardware dedicato o un computer a bassa potenza che esegue il software del gateway personalizzato.

È possibile usare Azure IoT Edge per implementare un gateway sul campo. IoT Edge offre funzionalità come il multiplex delle comunicazioni da più dispositivi sulla stessa connessione dell'hub IoT.

Passaggi successivi

Di seguito sono indicati altri argomenti di riferimento reperibili nella Guida per gli sviluppatori dell'hub IoT: