Creare ed eliminare route ed endpoint usando Azure PowerShell
Questo articolo illustra come creare una route e un endpoint nell'hub IoT di Azure e quindi eliminare la route e l'endpoint. Informazioni su come usare Azure PowerShell per creare route ed endpoint per Hub eventi di Azure, code e argomenti del Bus di servizio di Azure e Archiviazione di Azure.
Per altre informazioni sul funzionamento del routing nell'hub IoT, vedere Usare il routing dei messaggi dell'hub IoT per inviare messaggi da dispositivo a cloud a endpoint differenti. Per informazioni dettagliate sulla configurazione di una route che invia messaggi all'archiviazione e quindi sui test in un dispositivo simulato, vedere Esercitazione: Inviare i dati dei dispositivi ad Archiviazione di Azure usando il routing dei messaggi dell'hub IoT.
Nota
Attualmente PowerShell non supporta i tipi di autenticazione dell'identità gestita per la creazione di endpoint. Se non è possibile usare l'autenticazione sas nello scenario, usare uno degli altri strumenti di gestione per creare endpoint.
Inoltre, PowerShell attualmente non supporta la creazione di endpoint Cosmos DB.
Esaminare i prerequisiti per questo articolo in base al tipo di endpoint a cui si vuole indirizzare i messaggi.
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Un hub IoT. Se non si ha un hub, è possibile seguire la procedura per creare un hub IoT.
Azure PowerShell. Per usare Azure PowerShell in locale, installare il modulo Azure PowerShell nel computer. In alternativa, per usare Azure PowerShell in un Web browser, abilitare Azure Cloud Shell.
Una risorsa di Hub eventi (con contenitore). Se è necessario creare una nuova risorsa di Hub eventi, vedere Avvio rapido: Creare un hub eventi.
(Scelta consigliata) Identità gestita con autorizzazioni di controllo degli accessi in base al ruolo per lo spazio dei nomi di Hub eventi. Per altre informazioni, vedere Autenticare un'identità gestita con Microsoft Entra ID per accedere alle risorse di Hub eventi.
Nell'hub IoT è possibile creare una route per inviare messaggi o acquisire eventi. Ogni route ha un'origine dati e un endpoint. L'origine dati è la posizione in cui hanno origine i messaggi o i log eventi. L'endpoint è la posizione in cui finiscono i messaggi o i log eventi. È possibile scegliere le posizioni per l'origine dati e l'endpoint quando si crea una nuova route nell'hub IoT. Successivamente, è possibile usare le query di routing per filtrare i messaggi o gli eventi prima del passaggio agli all'endpoint.
Il servizio usato per creare l'endpoint deve prima esistere nell'account Azure.
Nota
Se si usa una versione locale di Azure PowerShell, accedere ad Azure PowerShell prima di iniziare.
I comandi nelle procedure seguenti usano questi riferimenti:
Ottenere la stringa di connessione primaria dall'hub eventi. Copiare la stringa di connessione da usare in un secondo momento.
Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
Creare un nuovo endpoint dell'hub IoT in Hub eventi. Usare la stringa di connessione primaria del passaggio precedente. Il valore per
EndpointType
deve essereEventHub
. Per tutti gli altri parametri, usare i valori per il proprio scenario.Add-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -EndpointType EventHub -EndpointResourceGroup MyResourceGroup -EndpointSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConnectionString "Endpoint=<my connection string>"
Per visualizzare tutte le opzioni dell'endpoint di routing, vedere Add-AzIotHubRoutingEndpoint.
Con il nuovo endpoint nell'hub IoT, è possibile creare una nuova route.
La route di fallback predefinita nell'hub IoT raccoglie i messaggi da DeviceMessages
. Scegliere un'opzione differente per la route personalizzata, ad esempio DeviceConnectionStateEvents
. Per altre informazioni sulle opzioni di origine, vedere Add-AzIotHubRoute. Il parametro Enabled
è un'opzione, quindi non è necessario usare un valore con il parametro.
Add-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -Source DeviceLifecycleEvents -EndpointName MyEndpoint -Enabled
PowerShell visualizza una conferma simile all'esempio seguente:
RouteName : MyIotHub
DataSource : DeviceLifecycleEvents
EndpointNames : MyEndpoint
Condition : true
IsEnabled : True
Per apportare modifiche a una route esistente, usare il comando seguente. Provare ad esempio a modificare il nome della route usando il comando.
Set-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute
Usare il comando Get-AzIotHubRoute
per confermare la modifica nella route:
Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub
Per eliminare un endpoint:
Remove-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -PassThru
Per eliminare una route dell'hub IoT:
Remove-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -PassThru
Suggerimento
L'eliminazione di una route non comporta l'eliminazione di endpoint nell'account Azure. È necessario eliminare un endpoint separatamente dall'eliminazione di una route.
In questo articolo di istruzioni si è appreso come creare una route e un endpoint per Hub eventi, code e argomenti del Bus di servizio e Archiviazione di Azure.
Per altre informazioni sul routing dei messaggi, vedere Esercitazione: Inviare dati dei dispositivi ad Archiviazione di Azure usando il routing dei messaggi dell'hub IoT. Nell'esercitazione viene creata una route di archiviazione che viene testata con un dispositivo nell'hub IoT.