Caricare file dai dispositivi nel cloud

IoT Central consente di caricare file multimediali e altri file dai dispositivi connessi all'archiviazione cloud. Configurare la funzionalità di caricamento dei file nell'applicazione IoT Central e quindi implementare i caricamenti di file nel codice del dispositivo.

Facoltativamente, è possibile gestire e visualizzare in anteprima i file caricati dai dispositivi all'interno dell'applicazione IoT Central.

Per informazioni su come configurare i caricamenti di file usando l'API REST di IoT Central, vedere Aggiungere una configurazione dell'account di archiviazione per il caricamento di file.

Prerequisiti

Per configurare i caricamenti di file, è necessario essere un amministratore nell'applicazione IoT Central.

È necessario un account di archiviazione di Azure e un contenitore per archiviare i file caricati. Se non si ha un account di archiviazione e un contenitore esistenti da usare, creare un nuovo account di archiviazione nel portale di Azure.

Configurare i caricamenti di file del dispositivo

Per configurare i caricamenti dei file del dispositivo:

  1. Andare alla sezione Applicazione nell'applicazione.

  2. Selezionare Archiviazione file del dispositivo.

  3. Selezionare l'account di archiviazione e il contenitore da usare. Se l'account di archiviazione si trova in una sottoscrizione di Azure diversa dall'applicazione, immettere una stringa di connessione dell'account di archiviazione.

  4. Se necessario, modificare il timeout di caricamento che imposta il tempo di validità di una richiesta di caricamento. I valori validi sono compresi tra 1 e 24 ore.

  5. Per consentire agli utenti di visualizzare e gestire i file caricati all'interno di IoT Central, impostare Abilita l'accesso su On.

  6. Seleziona Salva. Quando lo stato è Configurato, si è pronti per caricare i file dai dispositivi.

Screenshot che mostra un caricamento di file configurato correttamente.

Disabilitare i caricamenti dei file del dispositivo

Se si vuole disabilitare i caricamenti di file del dispositivo nell'applicazione IoT Central:

  1. Andare alla sezione Applicazione nell'applicazione.

  2. Selezionare Archiviazione file del dispositivo.

  3. Selezionare Elimina.

Controllare l'accesso ai file caricati

Usare ruoli e autorizzazioni per controllare chi può visualizzare ed eliminare i file caricati. Per altre informazioni, vedere Gestire utenti e ruoli nell'applicazione IoT Central >Gestione dei dispositivi.

Caricare un file da un dispositivo

IoT Central usa la funzionalità di caricamento file dell'hub IoT per consentire ai dispositivi di caricare i file. Per il codice di esempio che illustra come caricare file da un dispositivo, vedere l'esempio di dispositivo di caricamento di file di IoT Central.

Visualizzare e gestire i file caricati

Se è stato abilitato l'accesso ai file nella configurazione di caricamento dei file, gli utenti con le autorizzazioni corrette possono visualizzare ed eliminare i file caricati.

Importante

Tutti i file nella cartella del contenitore BLOB associati a un dispositivo sono visibili nella vista File per tale dispositivo. Sono inclusi tutti i file che non sono stati caricati dal dispositivo.

Per visualizzare ed eliminare i file caricati, andare alla vista File per un dispositivo. In questa pagina è possibile visualizzare le anteprime dei file caricati e alternare una raccolta e una visualizzazione elenco. Ogni file include opzioni per scaricarlo o eliminarlo:

Screenshot che mostra la visualizzazione della raccolta per i file caricati.

Suggerimento

Il tipo di file è determinato dal tipo MIME assegnato al file quando è stato caricato nell'archivio BLOB. Il tipo predefinito è binary/octet-stream.

È possibile personalizzare la visualizzazione elenco filtrando in base al nome del file e scegliendo le colonne da visualizzare.

Per visualizzare in anteprima il contenuto del file e ottenere altre informazioni sul file, selezionarlo. IoT Central supporta le anteprime dei tipi di file comuni, ad esempio testo e immagini:

Screenshot che mostra un'anteprima di un file di testo.

Test del caricamento di file

Dopo aver configurato i caricamenti di file nell'applicazione IoT Central, è possibile testarlo con il codice di esempio. Se il repository di esempio di caricamento del file non è già stato clonato, usare i comandi seguenti per clonarlo in un percorso appropriato nel computer locale e installare i pacchetti dipendenti:

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

Creare il modello di dispositivo e importare il modello

Per testare il caricamento del file, eseguire un'applicazione del dispositivo di esempio. Creare un modello di dispositivo per il dispositivo di esempio da usare.

  1. Aprire l'applicazione nell'interfaccia utente di IoT Central.

  2. Andare alla scheda Modelli di dispositivo nel riquadro sinistro, selezionare + Nuovo:

  3. Scegliere Dispositivo IoT come tipo di modello.

  4. Nella pagina Personalizza della procedura guidata immettere un nome, ad esempio Esempio di dispositivo di caricamento file per il modello di dispositivo.

  5. Nella pagina Rivedi selezionare Crea.

  6. Selezionare Importare un modello e caricare il file del modello di FileUploadDeviceDcm.json dalla cartella iotc-file-upload-device\setup nel repository scaricato in precedenza.

  7. Selezionare Pubblica per pubblicare il modello di dispositivo.

Aggiungere un dispositivo

Per aggiungere un dispositivo all'applicazione Azure IoT Central:

  1. Scegliere Dispositivi nel riquadro sinistro.

  2. Selezionare il modello di dispositivo Esempio di dispositivo di caricamento file creato in precedenza.

  3. Selezionare + Nuovo e selezionare Crea.

  4. Selezionare il dispositivo creato e selezionare Connetti

Copiare i valori per ID scope, Device ID e Primary key. Questi valori vengono usati nel codice di esempio del dispositivo.

Eseguire il codice di esempio

Aprire il repository Git scaricato in VS Code. Creare un file ".env" nella radice del progetto e aggiungere i valori copiati in precedenza. Il file dovrebbe essere simile all'esempio seguente con i valori annotato in precedenza.

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

Aprire il repository Git scaricato in VS Code. Premere F5 per eseguire/eseguire il debug dell'esempio. Nella finestra del terminale si noterà che il dispositivo è registrato ed è connesso 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
}

Il progetto di esempio viene fornito con un file di esempio denominato datafile.json. Questo file viene caricato quando si usa il comando Carica file nell'applicazione IoT Central.

Per testare il caricamento, aprire l'applicazione e selezionare il dispositivo creato. Selezionare la scheda Comando e viene visualizzato un pulsante denominato Esegui. Quando si seleziona il pulsante, l'app IoT Central chiama un metodo diretto nel dispositivo per caricare il file. È possibile visualizzare questo metodo diretto nel codice di esempio nel file /device.ts. Il metodo è denominato uploadFileCommand.

Selezionare la scheda Dati non elaborati per verificare lo stato di caricamento del file.

Screenshot che mostra l'U I di come verificare il caricamento di un file.

È anche possibile effettuare una chiamata API REST per verificare lo stato di caricamento del file nel contenitore di archiviazione.