練習 - 整合 Azure 儲存體
在本課程模組中,您將瞭解如何將實體數據儲存至 Azure 數據表記憶體,並將縮圖影像儲存至 Azure Blob 記憶體。 此功能可讓我們使用標識碼、名稱、縮圖影像等數據來儲存及擷取追蹤的物件,以及跨會話和裝置到雲端的更多專案。
瞭解 Azure 記憶體
Azure 記憶體 是雲端上的Microsoft記憶體解決方案,可涵蓋許多案例和需求。 它可以大規模調整,而且開發人員很容易接近。 所有服務都可以在 Azure 記憶體帳戶的保護傘下取用。 在我們的使用案例中,我們將使用 數據表記憶體 和 Blob 記憶體。
深入瞭解 Azure 記憶體服務。
Azure 資料表儲存體
此服務可讓我們以 NoSQL 方式儲存數據。 在我們的專案中,我們將使用它來儲存追蹤對象的相關信息,例如名稱、描述等等。
在示範應用程式的內容中,您將需要兩個數據表;一個用來儲存專案的相關信息,其中包含定型模型狀態的相關信息(在此課程模組稍後 的整合 Azure 自定義視覺 練習中,還有另一個數據表來儲存追蹤對象的相關信息。
深入瞭解 Azure 資料表記憶體。
Azure Blob 儲存體
此服務可讓您儲存大型二進位檔。 您將使用 Azure Blob 記憶體,將針對 追蹤物件 拍攝的相片儲存為縮圖。
為了示範應用程式的目的,您需要一個 Blob 容器來儲存映像。
深入瞭解 Azure Blob 記憶體。
準備 Azure 記憶體
若要使用 Azure 記憶體服務,您需要 Azure 記憶體帳戶。 若要建立記憶體帳戶,請參閱 建立記憶體帳戶。 若要深入瞭解記憶體帳戶,請參閱 記憶體帳戶概觀。
擁有記憶體帳戶之後,您可以從 Azure 入口網站擷取連接字串。 您可以在 [安全性 + 網络>存取金鑰] 中找到它。 在本課程的下一節中,您將需要連接字串。
選擇性 Azure 記憶體總管
雖然您可以從應用程式內的UI檢視和驗證所有資料變更,但建議您安裝 Azure 記憶體總管。 此工具可讓您將 Azure 記憶體中的數據可視化,而且偵錯和學習時非常有説明。
小提示
若要從 Unity 編輯器內部進行測試,您可以使用本機模擬器:
- 在 Windows 上,您可以使用 Azurite 模擬器。
- 在 MacOS 或 Linux 上,您可以使用 適用於 Docker 的 Azurite Docker 映射 。
準備場景
在 [階層] 視窗中,找出 DataManager 物件並加以選取。
[偵測器] 視窗中的 DataManager (script) 元件包含所有 Azure 記憶體 相關設定。 所有相關的設定都已經設定;您只需要將 [連接字串 ] 字段取代為您從 Azure 入口網站擷取的連接字串字段。 如果您使用本機 Azure 記憶體模擬器解決方案,則可以保留已提供的連接字串,或將它保留空白。
DataManager (script) 負責與數據表記憶體和 Blob 記憶體通訊,並由 UI 元件上的其他控制器腳本取用。
從 Azure 資料表記憶體寫入和讀取數據
備註
建置和測試 HoloLens 2 並非必要項目。 如果您沒有 HoloLens 裝置,您可以在 HoloLens 2 模擬器 上進行測試。 您可以在 HoloLens.com 購買裝置。
備妥所有項目之後,是時候建立追蹤物件了。
開啟 HoloLens 上的應用程式,然後選取 [設定物件]。 EnterObjectName 物件將會在階層中變成作用中。 選取 搜尋列 ,然後輸入您想要提供追蹤對象的名稱。 提供名稱之後,請選取 [ 設定物件] 按鈕。 這會在 Azure 資料表記憶體上建立追蹤物件。 [物件卡片] 隨即顯示。
此物件卡片是追蹤物件的UI表示法,在本教學課程系列中將具有重要作用。
現在選取 [ 描述] 文本框並輸入 Car,然後選取 [ 儲存 ] 按鈕以儲存變更。 停止應用程式並重新執行。
選取 [搜尋物件 ],然後在搜尋列中輸入您在建立追蹤物件時輸入的名稱。 您會看到物件卡片具有從 Azure 資料表記憶體擷取的所有數據。
您可以隨意關閉物件卡片、建立新的追蹤物件,以及編輯其數據。
小提示
如果您已安裝 Azure 記憶體總管,您可以在 [物件 ] 資料表中找到您的追蹤物件。
從 Azure Blob 記憶體上傳和下載映像
在本節中,您將使用 Azure Blob 記憶體來上傳和下載影像,以作為追蹤物件的縮圖。
備註
在本教學課程中,應用程式會拍攝相片,以將影像上傳至 Azure Blob 記憶體。 如果您是從 Unity 編輯器本機執行此動作,請確定您已將網路攝影機連線到您的電腦。
開啟 HoloLens 上的應用程式,選取 [設定物件],然後在搜尋列中輸入 Car。 在 [物件卡片] 上,選取 [ 相機] 按鈕。 系統會指示您執行 AirTap 拍照。 拍攝相片之後,您會看到一則訊息,告知您作用中的上傳,之後影像應該會出現在佔位元之前的位置。
現在,重新執行應用程式並搜尋追蹤的物件。 先前上傳的影像應該會顯示為縮圖。
從 Azure Blob 記憶體刪除映像
在上一節中,您已將新的映射上傳至 Azure Blob 記憶體。 在本節中,您將刪除追蹤物件的影像縮圖。
開啟 HoloLens 上的應用程式,選取 [設定物件],然後在搜尋列中輸入 Car。 在具有縮圖影像的物件 卡片 上,選取 [ 刪除] 按鈕。 縮圖影像會由佔位元影像取代。
現在,重新執行應用程式,並搜尋先前已刪除縮圖的追蹤物件。 您應該只會看到佔位元元影像。