Esercizio - Integrare l'archiviazione di Azure
In questo modulo si apprenderà come salvare dati di entità in Archiviazione tabelle di Azure e immagini di anteprima in Archiviazione BLOB di Azure. Questa funzionalità consente di archiviare e recuperare oggetti rilevati con dati come ID, Nome, Immagine anteprima e altro ancora tra sessioni e dispositivi nel cloud.
Informazioni sull'archiviazione di Azure
Archiviazione di Azure è una soluzione di archiviazione Microsoft sul cloud in grado di coprire numerosi scenari e requisiti. Si tratta di una soluzione con scalabilità elevata facilmente accessibile per gli sviluppatori. Tutti i servizi possono essere usati sotto l'ombrello di un account di archiviazione di Azure. Per questo caso d'uso, verranno usati i servizi archiviazione tabelle e archiviazione BLOB.
Sono disponibili altre informazioni sui servizi Archiviazione di Azure.
Archiviazione tabelle di Azure
Questo servizio consente di archiviare i dati in modalità NoSQL. Nel nostro progetto verrà usato per archiviare informazioni sull'oggetto tracciato, ad esempio nome, descrizione, ID ancoraggio nello spazio e altro ancora.
Nel contesto dell'applicazione demo sono necessarie due tabelle; uno per archiviare informazioni sul progetto con informazioni sullo stato dei modelli sottoposti a training (più avanti nell'esercizio Integrare Azure Visione personalizzata più avanti in questo modulo) e una seconda tabella per archiviare informazioni sugli oggetti tracciati.
Sono disponibili altre informazioni su Archiviazione tabelle di Azure.
Archiviazione BLOB di Azure
Questo servizio consente di archiviare file binari di grandi dimensioni. Si userà l'archivio BLOB di Azure per archiviare le foto scattate per gli oggetti rilevati come anteprime.
Per gli scopi dell'applicazione demo necessiti di un contenitore BLOB in cui archiviare le immagini.
Altre informazioni sulle Archiviazione BLOB di Azure.
Preparare Archiviazione di Azure
Per usare i servizi di archiviazione di Azure, è necessario un account di archiviazione di Azure. Per creare un account di archiviazione, vedi Creare un account di archiviazione. Per altre informazioni sugli account di archiviazione, vedere Archiviazione panoramica dell'account.
Dopo aver creato un account di archiviazione, è possibile recuperare la stringa di connessione dal portale di Azure. È possibile trovarla in Sicurezza e chiavi di accesso di rete>. La stringa di connessione sarà necessaria nella sezione successiva di questa lezione.
Azure Storage Explorer facoltativo
Sebbene sia possibile visualizzare e verificare tutte le modifiche dall'interfaccia utente all'interno dell'applicazione, è consigliabile installare Azure Storage Explorer. Questo strumento consente di visualizzare i dati nell'archiviazione di Azure ed è di grande aiuto durante il debug e l'apprendimento.
Suggerimento
Per i test dall'editor di Unity è possibile usare un emulatore locale:
- In Windows è possibile usare l'emulatore Azurite.
- In MacOS o Linux è possibile usare l'immagine Docker Azurite per Docker.
Preparare la scena
Nella finestra Hierarchy (Gerarchia) individua l'oggetto DataManager e selezionalo.
Il componente DataManager (script) nella finestra Controllo contiene tutte le impostazioni correlate all'archiviazione di Azure. Tutte le impostazioni pertinenti sono già impostate; è sufficiente sostituire il campo stringa di Connessione con quello recuperato dal portale di Azure. Se si usa una soluzione dell'emulatore di archiviazione di Azure locale, è possibile mantenere il stringa di connessione già fornito o lasciarlo vuoto.
DataManager (script) è responsabile della comunicazione con l'archiviazione tabelle e l'archiviazione BLOB e viene utilizzata da altri script controller nei componenti dell'interfaccia utente.
Scrivere e leggere dati da Archiviazione tabelle di Azure
Nota
La compilazione e il test in HoloLens 2 non sono obbligatori. È possibile eseguire il test sul HoloLens 2 Emulator se non si dispone di un dispositivo HoloLens. È possibile acquistare i dispositivi all'indirizzo HoloLens.com.
Con tutti gli elementi pronti, ora si può creare un oggetto tracciato.
Aprire l'applicazione in HoloLens e quindi selezionare Imposta oggetto. L'oggetto EnterObjectName diventerà attivo nella gerarchia. Selezionare la barra di ricerca e digitare il nome che si desidera assegnare all'oggetto tracciato. Dopo aver specificato un nome, selezionare il pulsante Imposta oggetto . In questo modo viene creato l'oggetto rilevato nell'archiviazione tabelle di Azure. Verrà visualizzata la Scheda oggetto.
La Scheda oggetto è una rappresentazione dell'interfaccia utente dell'oggetto tracciato e svolgerà un ruolo importante in questa serie di esercitazioni.
Selezionare ora la casella di testo Descrizione e digitare Car, quindi selezionare il pulsante Salva per salvare le modifiche. Arresta l'applicazione ed eseguila di nuovo.
Selezionare Cerca oggetto e digitare il nome immesso in precedenza durante la creazione dell'oggetto tracciato nella barra di ricerca. Si noterà che da Archiviazione tabelle di Azure viene recuperata la Scheda oggetto con tutti i dati.
È possibile chiudere la Scheda oggetto, creare nuovi oggetti tracciati e modificare i relativi dati.
Suggerimento
Se Archiviazione di Azure Explorer è stato installato, è possibile trovare l'oggetto tracciato nella tabella Oggetti.
Caricare e scaricare immagini da Archiviazione BLOB di Azure
In questa sezione si userà Archiviazione BLOB di Azure per caricare e scaricare immagini che verranno usate come anteprime per gli oggetti tracciati.
Nota
In questa esercitazione l'applicazione acquisirà foto per caricare immagini in Archiviazione BLOB di Azure. Se si esegue questa operazione localmente dall'editor di Unity, assicurarsi di disporre di una webcam connessa al computer.
Aprire l'applicazione in HoloLens, selezionare Imposta oggetto e digitare Car nella barra di ricerca. Nella Scheda oggetto selezionare il pulsante Fotocamera. Verrà richiesto di eseguire un AirTap per scattare una foto. Dopo aver acquisito una foto, si visualizzerà un messaggio che informa del caricamento attivo e dopo un periodo di tempo si dovrebbe visualizzare l'immagine nel punto in cui precedentemente si trovava il segnaposto.
A questo punto, eseguire di nuovo l'applicazione e cercare l'oggetto tracciato. L'immagine caricata in precedenza dovrebbe essere visualizzata come anteprima.
Eliminare immagini da Archiviazione BLOB di Azure
Nella sezione precedente sono state caricate nuove immagini in Archiviazione BLOB di Azure. In questa sezione si eliminerà un'anteprima dell'immagine per gli oggetti tracciati.
Aprire l'applicazione in HoloLens, selezionare Imposta oggetto e digitare Car nella barra di ricerca. Nella Scheda oggetto con l'immagine di anteprima, selezionare il pulsante Elimina. L'immagine di anteprima verrà sostituita dall'immagine segnaposto.
A questo punto, eseguire di nuovo l'applicazione e cercare l'oggetto tracciato dell'anteprima eliminata in precedenza. Dovrebbe essere visualizzata solo l'immagine segnaposto.