Inicio rápido: Exportación de datos desde una aplicación de IoT Central
En esta guía de inicio rápido, configurará su aplicación IoT Central para exportar datos a Azure Data Explorer. Azure Data Explorer permite almacenar, consultar y procesar los datos de telemetría desde dispositivos como la aplicación para smartphones IoT Plug and Play.
En esta guía de inicio rápido:
- Use la función de exportación de datos de IoT Central para los datos de telemetría desde la aplicación de smartphone a una base de datos de Azure Data Explorer.
- Use Azure Data Explorer para ejecutar consultas en los datos de telemetría.
Completar este inicio rápido conlleva un pequeño costo en la cuenta de Azure para la instancia de Azure Data Explorer. Los dos primeros dispositivos de la aplicación de IoT Central son gratuitos.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Complete este inicio rápido Creación de una aplicación de Azure IoT Central. El segundo inicio rápido, Configuración de reglas y acciones para el dispositivo en Azure IoT Central, es opcional.
- Necesita el prefijo URL de la aplicación de IoT Central que eligió en el primer artículo de inicio rápido Creación de una aplicación de Azure IoT Central.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Instalación de los servicios de Azure
Para poder exportar datos desde la aplicación IoT Central, necesita un clúster de Azure Data Explorer y una base de datos. En este inicio rápido, ejecuta un script Bash en Azure Cloud Shell para crearlos y configurarlos.
El script realiza los pasos siguientes:
- Le pide que inicie sesión en la suscripción de Azure para que pueda generar un token de portador para autenticar las llamadas a la API de REST.
- Crea un clúster y una base de datos de Azure Data Explorer.
- Crea una identidad administrada para la aplicación de IoT Central.
- Configura la identidad administrada con permiso para acceder a la base de datos de Azure Data Explorer.
- Agrega una tabla a la base de datos para almacenar la telemetría entrante desde IoT Central.
Ejecute los siguientes comandos para descargar el script en el entorno de Azure Cloud Shell:
wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh
Use el siguiente comando para ejecutar el script:
- Reemplace
CLUSTER_NAME
por un nombre único para el clúster de Azure Data Explorer. El nombre del clúster solo puede contener letras minúsculas y números. El nombre del clúster debe tener entre 4 y 22 caracteres. - Reemplace
CENTRAL_URL_PREFIX
por el prefijo de dirección URL que eligió en el primer inicio rápido para la aplicación de IoT Central. - Cuando le aparezca la solicitud, siga las instrucciones para iniciar sesión en la cuenta. Es necesario que el script inicie sesión porque genera un token de portador para autenticar una llamada API de REST.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX
Importante
Este script puede tardar entre 20 y 30 minutos en ejecutarse.
Anote la dirección URL de Azure Data Explorer del script. Usará este valor más adelante en este inicio rápido.
Configuración de la exportación de datos
Para configurar el destino de la exportación de datos desde IoT Central:
- Vaya a la página Exportación de datos de la aplicación de IoT Central.
- Seleccione la pestaña Destinos y, a continuación, Agregar un destino.
- Escriba Azure Data Explorer como nombre de destino. Seleccione Azure Data Explorer como tipo de destino.
- En URL del clúster, escriba la dirección URL de Azure Data Explorer que anotó anteriormente.
- En Nombre de base de datos, escriba phonedata.
- En Nombre de tabla, escriba acceleration.
- En Autorización, seleccione Identidad administrada asignada por el sistema.
- Seleccione Guardar.
Para configurar la exportación de datos:
En la página Exportación de datos, seleccione la pestaña Exportaciones y, a continuación, Agregar una exportación.
Escriba Acelerómetro de teléfono como nombre de exportación.
Seleccione Telemetría como el tipo de datos que se van a exportar.
Use la información de la tabla siguiente para agregar dos filtros:
Name Operador Valor Plantilla de dispositivo Equals IoT Plug and Play para dispositivos móviles Sensores/aceleración/X Exists N/D Asegúrese de que está establecida la opción para exportar los datos si se dan todas las condiciones.
Agregue Azure Data Explorer como destino.
Agregue una transformación de datos al destino. Agregue la siguiente consulta en el campo 2. Build transformation query (Compilar consulta de transformación) en la página Data transformation page (Página de transformación de datos):
import "iotc" as iotc; { Device: .device.id, EnqueuedTime: .enqueuedTime, X: .telemetry | iotc::find(.name == "accelerometer").value.x, Y: .telemetry | iotc::find(.name == "accelerometer").value.y, Z: .telemetry | iotc::find(.name == "accelerometer").value.z }
Para ver cómo funciona la transformación y experimentar con la consulta, pegue el siguiente mensaje de telemetría de muestra en 1. Agregue su mensaje de entrada:
{ "messageProperties": {}, "device": { "id": "8hltz8xa7n", "properties": { "reported": [] }, "approved": true, "types": [], "name": "8hltz8xa7n", "simulated": false, "provisioned": true, "modules": [], "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu", "templateName": "IoT Plug and Play mobile", "organizations": [], "cloudProperties": [], "blocked": false }, "component": "sensors", "applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444", "messageSource": "telemetry", "telemetry": [ { "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1", "name": "accelerometer", "value": { "x": 0.09960123896598816, "y": 0.09541380405426025, "z": 9.907781600952148 } } ], "enqueuedTime": "2021-11-12T10:01:30.588Z", "enrichments": {} }
Guarde la transformación. Luego, guarde la definición de exportación de datos.
Espere hasta que el estado de exportación muestre Correcto:
Consulta de los datos exportados
Para consultar la telemetría exportada:
Use la dirección URL de Azure Data Explorer del script que ejecutó previamente para ir a su entorno de Azure Data Explorer.
Expanda el nodo del clúster y seleccione la base de datos phonedata. El ámbito de la ventana de consulta cambia a
Scope:yourclustername.eastus/phonedata
.En Azure Data Explorer, abra una nueva pestaña y pegue la siguiente consulta de Kusto y, después, seleccione Ejecutar para trazar la telemetría del acelerómetro:
['acceleration']
| project EnqueuedTime, Device, X, Y, Z
| render timechart
Es posible que tenga que esperar varios minutos para recopilar suficientes datos. Para ver cómo cambian los valores de telemetría, pruebe a sostener el teléfono en distintas orientaciones:
Limpieza de recursos
Si no tiene previsto realizar otro inicios rápidos o tutoriales de IoT Central, puede eliminar la aplicación de IoT Central:
- En la aplicación de IoT Central, vaya a Aplicación > Administración.
- Seleccione Delete (Eliminar) y confirme la acción.
Para quitar la instancia de Azure Data Explorer de la suscripción y evitar que se facturen innecesariamente, elimine el grupo de recursos IoTCentralExportData-rg desde Azure Portal o ejecute el siguiente comando en Azure Cloud Shell:
az group delete --name IoTCentralExportData-rg
Paso siguiente
En este inicio rápido, ha aprendido a exportar datos continuamente desde IoT Central a otro servicio de Azure.
Ahora que sabe cómo exportar los datos, el siguiente paso que se recomienda es: