Usare endpoint personalizzati e il routing dei messaggi per i messaggi da dispositivo a cloudUse message routes and custom endpoints for device-to-cloud messages

L'hub IoT consente di eseguire il routing dei messaggi da dispositivo a cloud agli endpoint per il servizio dellhub IoT in base alle proprietà dei messaggi.IoT Hub enables you to route device-to-cloud messages to IoT Hub service-facing endpoints based on message properties. Le regole di routing offrono la flessibilità necessaria per inviare messaggi alle destinazioni desiderate, senza dover attivare altri servizi per elaborare i messaggi o scrivere codice aggiuntivo.Routing rules give you the flexibility to send messages where they need to go without the need for additional services to process messages or to write additional code. Ogni regola di routing configurata ha le proprietà seguenti:Each routing rule you configure has the following properties:

ProprietàProperty DescrizioneDescription
NomeName Il nome univoco che identifica la regola.The unique name that identifies the rule.
OrigineSource L'origine del flusso dati su cui intervenire.The origin of the data stream to be acted upon. Ad esempio, i dati di telemetria del dispositivo.For example, device telemetry.
ConditionCondition L'espressione di query per la regola di routing che viene eseguita rispetto alle intestazione e al corpo del messaggio e usata per determinare se si tratti di una corrispondenza per l'endpoint.The query expression for the routing rule that is run against the message's headers and body and used to determine whether it is a match for the endpoint. Per altre informazioni sulla creazione di una condizione di route, vedere il Riferimento: linguaggio query per dispositivi gemelli e processi.For more information about constructing a route condition, see the Reference - query language for device twins and jobs.
EndpointEndpoint Il nome dell'endpoint dove l'hub IoT invia i messaggi corrispondenti alla condizione.The name of the endpoint where IoT Hub sends messages that match the condition. Gli endpoint devono trovarsi nella stessa area dell'hub IoT, in caso contrario potrebbero essere addebitati dei costi per le scritture tra aree.Endpoints should be in the same region as the IoT hub, otherwise you may be charged for cross-region writes.

Un singolo messaggio può corrispondere alla condizione su più regole di routing. In questo caso, l'hub IoT invia il messaggio all'endpoint associato a ciascuna regola corrispondente.A single message may match the condition on multiple routing rules, in which case IoT Hub delivers the message to the endpoint associated with each matched rule. L'hub IoT deduplica automaticamente la consegna dei messaggi, quindi se uno di questi corrisponde a più regole che hanno tutte la stessa destinazione, verrà scritto in quella destinazione una sola volta.IoT Hub also automatically deduplicates message delivery, so if a message matches multiple rules that all have the same destination, it is only written to that destination once.

Un hub IoT dispone di un endpoint predefinito.An IoT hub has a default built-in endpoint. È possibile creare endpoint personalizzati per indirizzare i messaggi collegando all'hub gli altri servizi nella sottoscrizione.You can create custom endpoints to route messages to by linking other services in your subscription to the hub. L'hub IoT supporta attualmente i contenitori di Archiviazione di Azure, l'Hub eventi, le code e gli argomenti del bus di servizio come endpoint personalizzati.IoT Hub currently supports Azure Storage containers, Event Hubs, Service Bus queues, and Service Bus topics as custom endpoints.

Quando si usa il routing insieme a endpoint personalizzati, i messaggi vengono recapitati solo all'endpoint predefinito se non corrispondono ad alcuna regola.When you use routing and custom endpoints, messages are only delivered to the built-in endpoint if they don't match any rules. Per recapitare i messaggi all'endpoint predefinito e anche a un endpoint personalizzato, aggiungere una route per l'invio dei messaggi all'endpoint events.To deliver messages to the built-in endpoint as well as to a custom endpoint, add a route that sends messages to the events endpoint.

Nota

L'hub IoT supporta solo la scrittura dei dati nei contenitori di Archiviazione di Azure come BLOB.IoT Hub only supports writing data to Azure Storage containers as blobs.

Avviso

Le code del bus di servizio e gli argomenti che hanno abilitato con Sessioni o Rilevamento duplicati non sono supportati come endpoint personalizzati.Service Bus queues and topics with Sessions or Duplicate Detection enabled are not supported as custom endpoints.

Per altre informazioni sulla creazione di endpoint personalizzati nell'hub IoT, vedere Endpoint dell'hub IoT.For more information about creating custom endpoints in IoT Hub, see IoT Hub endpoints.

Per altre informazioni sulla lettura da endpoint personalizzati, vedere:For more information about reading from custom endpoints, see:

Passaggi successiviNext steps

Per altre informazioni sugli endpoint dell'hub IoT, vedere Endpoint dell'hub IoT.For more information about IoT Hub endpoints, see IoT Hub endpoints.

Per altre informazioni sul linguaggio di query che è possibile per definire le regole di routing, vedere Linguaggio di query dell'hub IoT per dispositivi gemelli, processi e routing dei messaggi.For more information about the query language you use to define routing rules, see IoT Hub query language for device twins, jobs, and message routing.

L'esercitazione Elaborare messaggi da dispositivo a cloud dell'hub IoT usando i route illustra come usare le regole di routing e gli endpoint personalizzati.The Process IoT Hub device-to-cloud messages using routes tutorial shows you how to use routing rules and custom endpoints.