Condividi tramite


Leggere messaggi da dispositivo a cloud dall'endpoint predefinito

Per impostazione predefinita, i messaggi vengono instradati all'endpoint per servizi predefinito (messages/events) compatibile con l'hub eventi. L'hub IoT espone l'endpoint messaggi/eventi predefinito per permettere ai servizi back-end di leggere i messaggi da dispositivo a cloud ricevuti dall'hub. L'endpoint è compatibile con Hub eventi e consente quindi di usare uno dei meccanismi supportati da tale servizio per la lettura dei messaggi.

Se si usa il routing dei messaggi e la route di fallback è abilitata, un messaggio che non corrisponde a una query in alcuna route passa all'endpoint predefinito. Se si disabilita questa route di fallback, viene eliminato un messaggio che non corrisponde ad alcuna query.

Questo endpoint è attualmente esposto solo usando il protocollo AMQP sulla porta 5671 e AMQP su WebSocket sulla porta 443. Un hub IoT espone le proprietà seguenti per consentire di controllare i messaggi/eventi dell'endpoint di messaggistica compatibili con Hub eventi predefiniti.

Proprietà Descrizione
Numero di partizioni Impostare questa proprietà in fase di creazione per definire il numero di partizioni per l'inserimento di eventi da dispositivo a cloud.
Tempo di conservazione Questa proprietà specifica per quanto tempo in giorni hub IoT mantiene i messaggi. Il valore predefinito è un giorno, ma può essere aumentato a sette giorni.

hub IoT consente la conservazione dei dati nell'endpoint predefinito per un massimo di sette giorni. È possibile impostare il tempo di conservazione durante la creazione dell'hub IoT. Il tempo di conservazione dei dati nell'hub IoT dipende dal tipo di unità e dal livello dell'hub IoT. In termini di dimensioni, l'endpoint predefinito può conservare i messaggi delle dimensioni massime dei messaggi fino a almeno 24 ore di quota. Ad esempio, un hub IoT di unità S1 fornisce spazio di archiviazione sufficiente per conservare almeno 400.000 messaggi, a 4 KB per messaggio. Se i dispositivi inviano messaggi più piccoli, potrebbero essere conservati per più tempo (fino a sette giorni) a seconda della quantità di spazio di archiviazione utilizzata. Microsoft garantisce la conservazione dei dati come minimo per il tempo di conservazione specificato. Dopo il tempo di conservazione, i messaggi scadono e diventano inaccessibili. È possibile modificare il tempo di conservazione, a livello di codice usando le API REST del provider di risorse hub IoT o con il portale di Azure.

hub IoT consente anche di gestire i gruppi di consumer nell'endpoint predefinito. È possibile avere fino a 20 gruppi di consumer per ogni hub IoT.

Connettersi all'endpoint predefinito

Alcune integrazioni del prodotto ed SDK di Hub eventi sono in grado di rilevare la presenza dell'hub IoT e consentono di usare la stringa di connessione del servizio hub IoT per connettersi all'endpoint predefinito.

Quando si usano SDK di Hub eventi o integrazioni del prodotto che non rilevano l'hub IoT, sono necessari un endpoint e un nome compatibili con Hub eventi. È possibile recuperare questi valori dal portale come illustrato di seguito:

  1. Accedere al portale di Azure e passare all'hub IoT.

  2. Selezionare Endpoint predefiniti dal menu delle risorse, in Impostazioni hub.

  3. Il riquadro di lavoro Degli endpoint predefiniti contiene tre sezioni:

    • La sezione Dettagli hub eventi contiene i valori seguenti: Partizioni, Nome compatibile con Hub eventi, Mantieni per e Gruppi di consumer.
    • La sezione Endpoint compatibile con Hub eventi contiene i valori seguenti: Criteri di accesso condiviso ed endpoint compatibile con Hub eventi.
    • La sezione Messaggistica da cloud a dispositivo contiene i valori seguenti: Durata TTL predefinita, Tempo di conservazione feedback e Numero massimo di recapito.

    Acquisizione dello schermo che mostra le impostazioni da dispositivo a cloud.

Nel riquadro di lavoro il campo endpoint compatibile con Hub eventi contiene un stringa di connessione completo di Hub eventi simile all'esempio seguente:

Endpoint=sb://abcd1234namespace.servicebus.windows.net/; SharedAccessKeyName=iothubowner; SharedAccessKey=keykeykeykeykeykey=; EntityPath=iothub-ehub-abcd-1234-123456

Se per l'SDK in uso sono necessari altri valori, corrisponderanno a quanto segue:

Nome Valore
Endpoint sb://abcd1234namespace.servicebus.windows.net/
Hostname (Nome host) abcd1234namespace.servicebus.windows.net
Spazio dei nomi abcd1234namespace

È quindi possibile scegliere qualsiasi criterio di accesso condiviso dall'elenco a discesa Criteri di accesso condiviso, come illustrato nello screenshot precedente. Mostra solo i criteri che dispongono delle autorizzazioni ServiceConnect per connettersi all'hub eventi specificato.

Esempi di SDK

Gli SDK che è possibile usare per connettersi all'endpoint compatibile con l'hub eventi predefinito che l'hub IoT espone includono:

Lingua SDK Esempio
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs ReadD2cMessages .NET
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs read-d2c-messages Java
Node.js https://www.npmjs.com/package/@azure/event-hubs read-d2c-messages Node.js
Python https://pypi.org/project/azure-eventhub/ read-d2c-messages Python

Connettersi ad altri servizi e prodotti

Le integrazioni del prodotto che è possibile usare per connettersi all'endpoint compatibile con l'hub eventi predefinito che l'hub IoT espone includono:

Passaggi successivi