Übung: Integrieren von Azure Storage
In diesem Modul erfahren Sie, wie Sie Entitätsdaten in Azure Table Storage und Miniaturansichtsbilder in Azure Blob Storage speichern. Mit dieser Funktion können wir nachverfolgte Objekte mit Daten wie ID, Name, Miniaturansicht usw. sitzungs- und geräteübergreifend in der Cloud speichern und abrufen.
Grundlegendes zu Azure Storage
Azure Storage ist eine Microsoft-Speicherlösung in der Cloud, die viele Szenarien und Anforderungen abdecken kann. Sie kann massiv skaliert werden und ist für Entwickler problemlos zugänglich. Alle Dienste können unter dem Dach eines Azure Storage-Kontos genutzt werden. Für unseren Anwendungsfall werden wir Tabellenspeicher und Blobspeicher verwenden.
Weitere Informationen zu Azure-Speicherdiensten.
Azure Table Storage
Dieser Dienst ermöglicht uns, Daten auf NoSQL-Weise zu speichern. In unserem Projekt werden wir ihn verwenden, um Informationen über das nachverfolgte Objekt zu speichern, beispielsweise Name, Beschreibung, Raumanker-ID und weitere.
Im Zusammenhang mit der Demoanwendung benötigen Sie zwei Tabellen: eine zum Speichern von Informationen zum Projekt mit Informationen zum Status der trainierten Modelle (mehr dazu später in der Übung Integrieren von Azure Custom Vision in diesem Moduls) und eine zweite Tabelle zum Speichern von Informationen zu nachverfolgten Objekten.
Weitere Informationen zu Azure Table Storage.
Azure Blob Storage
Mit diesem Dienst können Sie große Binärdateien speichern. Sie verwenden Azure Blob Storage, um Fotos von nachverfolgten Objekten als Miniaturansichten zu speichern.
Für die Zwecke der Demoanwendung benötigen Sie einen Blobcontainer, in dem Sie die Bilder speichern.
Erfahren Sie mehr über Azure Blob Storage.
Prepare Azure Storage
Um die Azure-Speicherdienste nutzen zu können, benötigen Sie ein Azure Storage-Konto. Informationen zum Erstellen eines Speicherkontos finden Sie unter Erstellen eines Speicherkontos. Weitere Informationen zu Speicherkonten finden Sie in der Übersicht über Storage-Konten.
Sobald Sie über ein Speicherkonto verfügen, können Sie die Verbindungszeichenfolge aus dem Azure-Portal abrufen. Sie finden sie unter Sicherheit und Netzwerk>Zugriffsschlüssel. Sie benötigen die Verbindungszeichenfolge im nächsten Abschnitt dieser Lektion.
Optionaler Azure Storage-Explorer
Obgleich Sie alle Datenänderungen auf der Benutzeroberfläche innerhalb der Anwendung einsehen und überprüfen können, empfehlen wir die Installation von Azure Storage-Explorer. Mit diesem Tool können Sie die Daten in Azure Storage visualisieren, was beim Debuggen und Lernen sehr hilfreich ist.
Tipp
Für Tests innerhalb des Unity-Editors können Sie einen lokalen Emulator verwenden:
- Unter Windows können Sie den Azurite-Emulator verwenden.
- Unter macOS oder Linux können Sie Azurite Docker Image für Docker verwenden.
Vorbereiten der Szene
Suchen Sie im Hierarchiefenster nach dem DataManager-Objekt, und wählen Sie es aus.
Die Komponente DataManager (script) im Fenster „Inspektor“ enthält alle Azure Storage-bezogenen Einstellungen. Alle relevanten Einstellungen sind bereits festgelegt. Sie müssen lediglich den Wert im Feld Verbindungszeichenfolge durch denjenigen ersetzen, den Sie aus dem Azure-Portal abgerufen haben. Wenn Sie eine lokale Azure-Speicheremulatorlösung verwenden, können Sie die bereits bereitgestellte Verbindungszeichenfolge beibehalten oder sie leer lassen.
Der DataManager (Skript) ist für die Kommunikation mit dem Tabellenspeicher und Blobspeicher verantwortlich und wird von anderen Controllerskripts für die UI-Komponenten verwendet.
Schreiben und Lesen von Daten aus Azure Table Storage
Hinweis
Das Erstellen und Testen von Anwendungen auf HoloLens 2 ist nicht obligatorisch. Sie können Tests mit dem HoloLens 2-Emulator ausführen, wenn Sie über kein HoloLens-Gerät verfügen. Geräte können Sie auf HoloLens.com erwerben.
Nachdem Sie alles vorbereitet haben, können Sie nun ein nachverfolgtes Objekt erstellen.
Öffnen Sie die Anwendung auf Ihrer HoloLens, und wählen Sie dann Objekt festlegen aus. Das Objekt EnterObjectName wird in der Hierarchie aktiviert. Wählen Sie die Suchleiste aus, und geben Sie den Namen ein, den Sie dem nachverfolgten Objekt geben möchten, ein. Nachdem Sie einen Namen festgelegt haben, wählen Sie die Schaltfläche Objekt festlegen aus. Dadurch wird das nachverfolgte Objekt in Azure Table Storage erstellt. Die Objektkarte wird angezeigt.
Diese Objektkarte ist eine Darstellung des nachverfolgten Objekts auf der Benutzeroberfläche und spielt in dieser Tutorialreihe eine wichtige Rolle.
Wählen Sie nun das Textfeld Beschreibung aus, und geben Sie Car ein. Wählen Sie dann die Schaltfläche Speichern aus, um die Änderungen zu speichern. Beenden Sie die Anwendung, und führen Sie sie dann erneut aus.
Wählen Sie Objekt suchen aus, und geben Sie den Namen, den Sie zuvor beim Erstellen des nachverfolgten Objekts eingegeben haben, in die Suchleiste ein. Wie Sie sehen, wird die Objektkarte mit allen Daten aus Azure Table Storage abgerufen.
Sie können die Objektkarte schließen, neue nachverfolgte Objekte erstellen und ihre Daten bearbeiten.
Tipp
Wenn Sie Azure Storage-Explorer installiert haben, finden Sie Ihr nachverfolgtes Objekt in der Tabelle Objekte.
Hoch- und Herunterladen eines Bilds über Azure Blob Storage
In diesem Abschnitt verwenden Sie Azure Blob Storage zum Hoch- und Herunterladen von Bildern, die als Miniaturansichten für nachverfolgte Objekte dienen.
Hinweis
In diesem Tutorial nimmt die Anwendung Fotos auf, um Bilder in Azure Blob Storage hochzuladen. Wenn Sie lokal im Unity-Editor arbeiten, müssen Sie eine Webcam an Ihren Computer anschließen.
Öffnen Sie die Anwendung auf Ihrer HoloLens, wählen Sie Objekt festlegen aus, und geben Sie Car in die Suchleiste ein. Wählen Sie auf der Objektkarte die Schaltfläche Kamera aus. Sie werden angewiesen, in die Luft zu tippen, um ein Foto zu machen. Nachdem Sie ein Foto aufgenommen haben, wird eine Meldung angezeigt, die Sie über den aktiven Upload informiert. Nach einer Weile sollte das Bild an der Stelle angezeigt werden, an der sich zuvor der Platzhalter befand.
Führen Sie nun die Anwendung erneut aus, und suchen Sie nach dem nachverfolgten Objekt. Das zuvor hochgeladene Bild sollte als Miniaturansicht angezeigt werden.
Löschen von Bildern aus Azure Blob Storage
Im vorherigen Abschnitt haben Sie neue Bilder in Azure Blob Storage hochgeladen. In diesem Abschnitt löschen Sie eine Miniaturansicht des Bilds für Ihre nachverfolgten Objekte.
Öffnen Sie die Anwendung auf Ihrer HoloLens, wählen Sie Objekt festlegen aus, und geben Sie Car in die Suchleiste ein. Wählen Sie auf der Objektkarte mit der Miniaturansicht die Schaltfläche Löschen aus. Daraufhin wird das Miniaturansichtsbild durch das Platzhalterbild ersetzt.
Führen Sie nun die Anwendung erneut aus, und suchen Sie nach dem nachverfolgten Objekt der zuvor gelöschten Miniaturansicht. Es sollte nur das Platzhalterbild zu sehen sein.