Creación y eliminación de rutas y puntos de conexión mediante Azure PowerShell
En este artículo se muestra primero cómo crear rutas y puntos de conexión en cualquier centro desde Azure IoT Hub y, luego, cómo eliminarlos. Aprenda a usar Azure PowerShell para crear rutas y puntos de conexión para Azure Event Hubs, las colas y los temas de Azure Service Bus y Azure Storage.
Para más información sobre cómo funciona el enrutamiento en IoT Hub, consulte Uso del enrutamiento de mensajes de IoT Hub para enviar mensajes del dispositivo a la nube a distintos puntos de conexión. Para obtener información sobre la configuración de una ruta que envíe mensajes al almacenamiento y la posterior realización de pruebas en un dispositivo simulado, consulte Tutorial: Envío de datos de dispositivo a Azure Storage mediante el enrutamiento de mensajes de IoT Hub.
Requisitos previos
Los procedimientos que se describen en el artículo usan los siguientes recursos:
- Azure PowerShell
- Una instancia de IoT Hub
- Un servicio de punto de conexión en Azure
Azure PowerShell
En este artículo se usa la interfaz de Azure PowerShell para trabajar con IoT Hub y otros servicios de Azure. Para usar Azure PowerShell localmente instale el módulo de Azure PowerShell en el equipo. Como alternativa, para usar Azure PowerShell en un explorador web, habilite Azure Cloud Shell.
centro de IoT
Para crear una ruta de un centro de IoT, se necesita el centro de IoT que se creó mediante Azure IoT Hub. Tanto los mensajes como los registros de eventos del dispositivo parten del centro de IoT.
Asegúrese de tener el siguiente recurso de centro para que pueda usarlo al crear la ruta del centro de IoT:
- Un centro de Azure IoT. Si no dispone de un centro de IoT, puede usar el cmdlet New-AzIoTHub para crear uno, o bien, seguir los pasos de Creación de un centro de IoT.
Servicio de punto de conexión
Para crear una ruta de un centro de IoT, se necesita al menos otro servicio de Azure, con el fin de usarlo como punto de conexión a la ruta. El punto de conexión recibe tanto los mensajes como los registros de eventos del dispositivo. Puede elegir qué servicio de Azure usa para que cada punto de conexión se conecte a la ruta del centro de IoT: Event Hubs, colas o temas de Service Bus o Azure Storage.
Asegúrese de tener uno de los siguientes recursos para usarlo al crear un punto de conexión en la ruta del centro de IoT:
Un recurso de Event Hubs (con contenedor). Si necesita crear un recurso de Event Hubs, consulte Inicio rápido: Creación de un centro de eventos mediante Azure PowerShell.
Un recurso de cola de Service Bus. Si necesita crear una nueva cola de Service Bus, consulte Uso de Azure PowerShell para crear un espacio de nombres y una cola de Service Bus.
Un recurso de tema de Service Bus. Si necesita crear un nuevo tema de Service Bus, consulte la referencia New-AzServiceBusTopic y la documentación de la mensajería de Azure Service Bus.
Un recurso de Azure Storage. Si necesita crear un cuenta de almacenamiento en Azure, consulte Creación de una cuenta de almacenamiento.
Creación de recursos y puntos de conexión
En IoT Hub, puede crear una ruta para enviar mensajes o capturar eventos. Cada ruta tiene un origen de datos y un punto de conexión. El origen de datos es el lugar del que parten los mensajes o los registros de eventos. El punto de conexión es el lugar en que terminan los mensajes o los registros de eventos. Cuando se crea una ruta en el centro de IoT, se eligen las ubicaciones del origen de datos y del punto de conexión. Luego, se usan consultas de enrutamiento para filtrar los mensajes o eventos antes de que van al punto de conexión.
Puede usar un centro de eventos, una cola o un tema de Service Bus o una cuenta de Azure Storage como punto de conexión de la ruta del centro de IoT. El servicio que use para crear el punto de conexión debe existir en la cuenta de Azure.
Nota:
Si usa una versión local de Azure PowerShell, inicie sesión en Azure PowerShell antes de comenzar.
Los comandos de los siguientes procedimientos usan estas referencias:
Creación de un centro de eventos
Para crear un recurso de Event Hubs que tenga una regla de autorización:
Creación de un nuevo espacio de nombres de Event Hubs En
NamespaceName
, use un valor único.New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
Cree la entidad de Event Hubs. En
Name
, use un valor único. EnNamespaceName
, use el nombre del espacio de nombres que creó en el paso anterior.New-AzEventHub -Name MyEventHub -NamespaceName MyNamespace -ResourceGroupName MyResourceGroup
Cree una nueva regla de autorización. En
Name
, use el nombre de la entidad enEventHubName
. Para el nombre de la regla de autorización, use un valor único.New-AzEventHubAuthorizationRule -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule -Rights @('Manage', 'Send', 'Listen')
Para más información sobre el acceso, consulte Autorización del acceso a Azure Event Hubs.
Creación de un punto de conexión de Event Hubs
Obtenga la cadena de conexión principal de su centro de eventos. Copie la cadena de conexión para usarla más adelante.
Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
Cree un nuevo punto de conexión de IoT Hub en Event Hubs. Use la cadena de conexión principal del paso anterior. El valor de
EndpointType
debe serEventHub
. Para todos los demás parámetros, use los valores de su escenario.Add-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -EndpointType EventHub -EndpointResourceGroup MyResourceGroup -EndpointSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConnectionString "Endpoint=<my connection string>"
Para ver todas las opciones de punto de conexión de enrutamiento, consulte Add-AzIotHubRoutingEndpoint.
Creación de una ruta de IoT Hub
Con el nuevo punto de conexión del IoT Hub, puede crear una ruta.
La ruta de reserva predeterminada de IoT Hub recopila mensajes de DeviceMessages
. Elija otra opción para la ruta personalizada, como DeviceConnectionStateEvents
. Para más información acerca de las opciones de origen, consulte Add-AzIotHubRoute. El parámetro Enabled
es un modificador, por lo que no es necesario usar ningún valor con el parámetro.
Add-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -Source DeviceLifecycleEvents -EndpointName MyEndpoint -Enabled
PowerShell muestra una confirmación similar a la de este ejemplo:
RouteName : MyIotHub
DataSource : DeviceLifecycleEvents
EndpointNames : MyEndpoint
Condition : true
IsEnabled : True
Actualización de una ruta de IoT Hub
Para realizar cambios en una ruta existente, use el siguiente comando. Por ejemplo, pruebe a cambiar el nombre de la ruta mediante el comando.
Set-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute
Use el comando Get-AzIotHubRoute
para confirmar el cambio en la ruta:
Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub
Eliminar un extremo
Para eliminar un punto de conexión:
Remove-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -PassThru
Eliminación de una ruta de IoT Hub
Para eliminar una ruta de IoT Hub:
Remove-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -PassThru
Sugerencia
La eliminación de una ruta no elimina ningún punto de conexión de la cuenta de Azure. Los puntos de conexión se deben eliminar independientemente de la eliminación de rutas.
Pasos siguientes
En este artículo de procedimientos ha aprendido a crear una ruta y un punto de conexión para Event Hubs, colas o temas de Service Bus y Azure Storage.
Para más información sobre el enrutamiento de mensajes, consulte Tutorial: Envío de datos de dispositivo a Azure Storage mediante el enrutamiento de mensajes de IoT Hub. En este tutorial, se crea una ruta de almacenamiento y se prueba con un dispositivo de un centro de IoT.