練習 - 整合 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 編輯器內部進行測試,您可以使用本機模擬器:

準備場景

  1. 在 [階層] 視窗中,找出 DataManager 物件並加以選取。

    Screenshot of Unity with DataManager script component configuration fields shown in Inspector.

    [偵測器] 視窗中的 [DataManager (指令碼)] 元件包含所有 Azure 儲存體相關設定。 所有相關的設定都已經設定;您只需要將 [連線 ion String] 欄位取代為您從 Azure 入口網站 擷取的字串字位。 如果您使用本機 Azure 記憶體模擬器解決方案,則可以保留已提供 連接字串 或保留空白。

    DataManager (script) 負責與數據表記憶體和 Blob 記憶體通訊,並由 UI 元件上的其他控制器腳本取用。

從 Azure 資料表儲存體寫入和讀取資料

注意

建置和測試 HoloLens 2 並非必要項目。 如果您沒有 HoloLens 裝置,可在 HoloLens 2 Emulator 上測試。 您可以在 HoloLens.com 購買裝置。

一切備妥後,是時候建立「追蹤物件」。

  1. 在 HoloLens 上開啟應用程式,然後選取 [設定物件]EnterObjectName物件將會在階層中變成作用中。 選取搜尋 ,然後輸入您想要提供追蹤對象的名稱。 提供名稱之後,請選取 [ 設定物件] 按鈕。 這會在 Azure 資料表記憶體上建立追蹤物件。 [物件卡] 隨即顯示。

    這個 [物件卡] 是「追蹤物件」的 UI 表示法,而且將在本教學課程系列中具有重要的角色。

  2. 現在選取 [ 描述] 文本框並輸入 Car,然後選取 [ 儲存 ] 按鈕以儲存變更。 停止應用程式並重新執行。

  3. 選取 [搜尋物件],然後在搜尋列中輸入您在建立追蹤物件 時輸入的名稱。 您將會看到 [物件卡] 具有所有從 Azure 資料表儲存體擷取的資料。

  4. 您可以直接關閉 [物件卡]、建立新的「追蹤物件」,然後編輯其資料。

    提示

    如果您已安裝 Azure 儲存體 Explorer,您可以在 Objects 資料表中找到您的追蹤物件。

從 Azure Blob 儲存體上傳和下載影像

在本節中,您將使用 Azure Blob 儲存體上傳和下載影像,作為「追蹤物件」的縮圖。

注意

在本教學課程中,應用程式將拍照以將影像上傳至 Azure Blob 儲存體。 如果您是在本機從 Unity 編輯器執行此動作,請確定您有連線到電腦的網路攝影機。

  1. 開啟 HoloLens 上的應用程式,選取 [設定物件],然後在搜尋列中輸入 Car 在 [物件卡] 上,選取 [相機] 按鈕。 系統會指示您執行 AirTap 來拍照。 在拍照之後,您會看到一則訊息,通知您上傳作用中,片刻後影像會出現在先前預留位置所在的地方。

  2. 現在,重新執行應用程式並搜尋追蹤的物件。 先前上傳的影像應該會顯示為縮圖。

從 Azure Blob 儲存體中刪除影像

在上一節中,您已將新的影像上傳至 Azure Blob 儲存體。 在本節中,您將刪除「追蹤物件」的影像縮圖。

  1. 開啟 HoloLens 上的應用程式,選取 [設定物件],然後在搜尋列中輸入 Car 在具有縮圖影像的 [物件卡] 上,然後選取 [刪除] 按鈕。 預留位置影像會取代縮圖影像。

  2. 現在,重新執行應用程式,並搜尋先前已刪除縮圖的追蹤物件。 您應該只會看到預留位置影像。