Compartir vía


Suba archivos desde sus dispositivos a la nube

IoT Central le permite cargar medios y otros archivos desde dispositivos conectados al almacenamiento en la nube. Configure la funcionalidad de carga de archivos en la aplicación IoT Central y a continuación implemente cargas de archivos en el código del dispositivo.

Opcionalmente, puede administrar y obtener una vista previa de los archivos cargados por los dispositivos dentro de la aplicación de IoT Central.

Para obtener información sobre cómo configurar cargas de archivos mediante la API de REST de IoT Central, consulte Agregar una configuración de la cuenta de almacenamiento de carga de archivos.

Requisitos previos

Para configurar la carga de archivos debe ser administrador en la aplicación de IoT Central.

Necesita una cuenta en Azure Storage y un contenedor para almacenar los archivos cargados. Si no dispone de una cuenta de almacenamiento y un contenedor para usar, cree una en Azure Portal.

Configurar cargas de archivos del dispositivo

Para configurar cargas de archivos del dispositivo:

  1. Vaya a la sección Aplicación de su aplicación.

  2. Seleccione Almacenamiento de archivos del dispositivo.

  3. Vaya a la cuenta de almacenamiento y seleccione el contenedor. Si la cuenta de almacenamiento está en una suscripción de Azure diferente de la aplicación, introduzca una cadena de conexión de la cuenta de almacenamiento.

  4. Si es necesario, ajuste el tiempo de espera de carga que establece el tiempo durante el que una solicitud de carga es válida. Los valores válidos van de 1 a 24 horas.

  5. Para permitir que los usuarios vean y administren los archivos cargados dentro de IoT Central, establezca Habilitar acceso en Activado.

  6. Seleccione Guardar. Cuando el estado muestra Configurado, está listo para cargar archivos desde dispositivos.

Captura de pantalla que muestra una carga de archivos configurada correctamente.

Configurar cargas de archivos del dispositivo

Si desea deshabilitar las cargas de archivos de dispositivo en la aplicación IoT Central:

  1. Vaya a la sección Aplicación de su aplicación.

  2. Seleccione Almacenamiento de archivos del dispositivo.

  3. Seleccione Eliminar.

Control del acceso a los archivos cargados

Use roles y permisos para controlar quién puede ver y eliminar archivos cargados. Para más información, consulte Administrar usuarios y roles en la aplicación de IoT Central > administración de dispositivos.

Carga de un archivo desde un dispositivo

IoT Central usa la capacidad de carga de archivos de IoT Hub para permitir que los dispositivos carguen archivos. Para ver el código de ejemplo que muestra cómo cargar archivos desde un dispositivo, consulte elejemplo de la carga de archivos de IoT Central.

Visualización y administración de archivos cargados

Si ha habilitado el acceso a los archivos en la configuración de carga de archivos, los usuarios con los permisos correctos pueden verlos y eliminarlos.

Importante

Todos los archivos de la carpeta contenedora de blobs asociada a un dispositivo están visibles en la vista Archivos de ese dispositivo (incluidos los archivos que el dispositivo no cargó).

Para ver y eliminar archivos cargados, vaya a la vista Archivos de un dispositivo. En esta página, verá miniaturas de los archivos cargados y podrá cambiar de la vista de galería a la de lista y viceversa. Todos los archivos tienen opciones para descargarlo o eliminarlo:

Captura de pantalla en la que se muestra la vista de galería de los archivos cargados.

Sugerencia

El tipo de archivo viene determinado por el tipo mime asignado al archivo cuando se cargó en Blob Storage. El tipo predeterminado es binary/octet-stream.

Puede personalizar la vista de lista si filtra según el nombre de archivo y elije las columnas que se van a mostrar.

Para una vista previa del contenido del archivo y más información sobre el archivo, selecciónelo. IoT Central admite vistas previas de los tipos de archivo comunes, como texto e imágenes:

Captura de pantalla en la que s emuestra una vista previa de un archivo de texto.

Prueba de carga de archivos

Después de configurar las cargas de archivos en la aplicación de IoT Central, puede probarla con el código de ejemplo. Si todavía no ha clonado el repositorio de ejemplo de carga de archivos, use los comandos siguientes para clonarlo en una ubicación adecuada en el equipo local e instalar los paquetes dependientes:

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

Creación de la plantilla de dispositivo e importación del modelo

Para probar la carga de archivos, ejecute una aplicación de dispositivo de ejemplo. Cree una plantilla de dispositivo para el dispositivo de ejemplo que se va a usar.

  1. Abra la aplicación en la interfaz de usuario de IoT Central.

  2. Vaya a la pestaña Plantillas de dispositivo en el panel izquierdo y seleccione + Nueva:

  3. Elija Dispositivo IoT como tipo de plantilla.

  4. En la página Personalizar del asistente, escriba un nombre como Ejemplo de dispositivo de carga de archivos para la plantilla de dispositivo.

  5. En la página Revisar, seleccione Crear.

  6. Seleccione Importar un modelo y cargue el archivo de modelos FileUploadDeviceDcm.json desde la carpeta iotc-file-upload-device\setup del repositorio que ha descargado antes.

  7. A continuación, seleccione Publicar para publicar la plantilla del dispositivo.

Agregar un dispositivo

Para agregar un dispositivo real a una aplicación de Azure IoT Central:

  1. Elija Dispositivos en el panel izquierdo.

  2. Seleccione la plantilla de dispositivo Ejemplo de dispositivo de carga de archivos que ha creado antes.

  3. Seleccione + Nuevo y después Crear.

  4. Seleccione el dispositivo que ha creado y después Conectar

Copie los valores de ID scope, Device ID y Primary key. Usará estos valores en el código de ejemplo del dispositivo.

Ejecución del código de ejemplo

Abra el repositorio de Git que ha descargado en VS Code. Cree un archivo ".env" en la raíz del proyecto y agregue los valores que ha copiado antes. El archivo debe ser similar al ejemplo siguiente con los valores que ha anotado antes.

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

Abra el repositorio de Git que ha descargado en VS Code. Presione F5 para ejecutar y depurar el ejemplo. En la ventana del terminal, verá que el dispositivo se ha registrado y está conectado a IoT Central:

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

En el proyecto de ejemplo se incluye un archivo de ejemplo denominado datafile.json. Es el archivo que se carga al usar el comando Cargar archivo en la aplicación de IoT Central.

Para probar la carga, abra la aplicación y seleccione el dispositivo que ha creado. Seleccione la pestaña Comando y verá un botón denominado Ejecutar. Al seleccionar ese botón, la aplicación de IoT Central llama a un método directo en el dispositivo para cargar el archivo. Puede ver este método directo en el código de ejemplo del archivo /device.ts. El nombre del método es uploadFileCommand.

Seleccione la pestaña Datos sin procesar para comprobar el estado de carga del archivo.

Captura de pantalla que muestra la interfaz de usuario de cómo comprobar la carga de un archivo.

También puede realizar una llamada API REST para comprobar el estado de la carga de archivos en el contenedor de almacenamiento.