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

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:

  1. Vaya a la página Exportación de datos de la aplicación de IoT Central.
  2. Seleccione la pestaña Destinos y, a continuación, Agregar un destino.
  3. Escriba Azure Data Explorer como nombre de destino. Seleccione Azure Data Explorer como tipo de destino.
  4. En URL del clúster, escriba la dirección URL de Azure Data Explorer que anotó anteriormente.
  5. En Nombre de base de datos, escriba phonedata.
  6. En Nombre de tabla, escriba acceleration.
  7. En Autorización, seleccione Identidad administrada asignada por el sistema.
  8. Seleccione Guardar.

Para configurar la exportación de datos:

  1. En la página Exportación de datos, seleccione la pestaña Exportaciones y, a continuación, Agregar una exportación.

  2. Escriba Acelerómetro de teléfono como nombre de exportación.

  3. Seleccione Telemetría como el tipo de datos que se van a exportar.

  4. 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.

  5. Agregue Azure Data Explorer como destino.

  6. 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
    }
    

    Screenshot that shows the data transformation query for the export.

    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": "40a97c91-50cc-44f0-9f63-71386613facc",
      "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": {}
    }
    
  7. Guarde la transformación. Luego, guarde la definición de exportación de datos.

Espere hasta que el estado de exportación muestre Correcto:

Screenshot that shows a running data export with the healthy status.

Consulta de los datos exportados

Para consultar la telemetría exportada:

  1. Use la dirección URL de Azure Data Explorer del script que ejecutó previamente para ir a su entorno de Azure Data Explorer.

  2. 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.

  3. 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:

Screenshot of the query results for the accelerometer telemetry.

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:

  1. En la aplicación de IoT Central, vaya a Aplicación > Administración.
  2. 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: