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 il controllo dell'endpoint di messaggistica predefinito messages/events, compatibile con Hub eventi.
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 quanti giorni i messaggi vengono conservati dall'hub IoT. 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, possono essere conservati per più tempo (fino a sette giorni) a seconda della quantità di spazio di archiviazione utilizzata. Microsoft garantisce di conservare i dati per il tempo di conservazione specificato come minimo. Dopo il superamento del tempo di conservazione, i messaggi scadono e diventano inaccessibili. È possibile modificare il tempo di conservazione a livello di codice con le API REST del provider di risorse dell'hub IoT oppure 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.
Connessione 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 l'hub eventi. È possibile recuperare questi valori dal portale come illustrato di seguito:
Accedere al portale di Azure e passare all'hub IoT.
Selezionare Endpoint predefiniti dal menu delle risorse, in Impostazioni hub.
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.
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 Service Connessione 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:
Le integrazioni del prodotto che è possibile usare per connettersi all'endpoint compatibile con l'hub eventi predefinito che l'hub IoT espone includono:
-
Per altre informazioni, vedere associazioni hub IoT di Azure per Funzioni di Azure.
-
Per altre informazioni, vedere Trasmettere i dati come input in Analisi di flusso.
-
Per altre informazioni, vedere Aggiungere un'origine evento dell'hub IoT all'ambiente Azure Time Series Insight.
-
Per altre informazioni, vedere la guida per sviluppatori apache Kafka per Hub eventi di Azure.
Passaggi successivi
Per altre informazioni sugli endpoint dell'hub IoT, vedere Endpoint hub IoT.
Per instradare i messaggi da dispositivo a cloud verso endpoint personalizzati, vedere Usare endpoint personalizzati e il routing dei messaggi per i messaggi da dispositivo a cloud.