演習 - Azure Storage を統合する

完了済み

このモジュールでは、エンティティ データを Azure Table Storage に保存し、サムネイル イメージを Azure Blob Storage に保存する方法について説明します。 この機能を使用すると、クラウドへのセッションやデバイス間で、ID、名前、サムネイル画像などのデータを含む追跡対象オブジェクトを格納および取得できます。

Azure Storage について

Azure Storage は、多くのシナリオと要件をカバーできるクラウド上の Microsoft ストレージ ソリューションです。 大規模にスケーリングでき、開発者は簡単にアプローチできます。 すべてのサービスは、 Azure ストレージ アカウントの傘下で使用できます。 このユース ケースでは、 Table Storage と Blob Storage を使用します。

Azure Storage サービスの詳細を確認します。

Azure Table Storage

このサービスを使用すると、NoSQL 形式でデータを格納できます。 このプロジェクトでは、名前、説明など、追跡対象オブジェクトに関する情報を格納するために使用します。

デモ アプリケーションのコンテキストでは、2 つのテーブルが必要です。1 つは、トレーニング済みモデルの状態に関する情報 (このモジュールの後半の Azure Custom Vision の統合 演習の詳細) と、追跡対象オブジェクトに関する情報を格納する 2 番目のテーブルを含むプロジェクトに関する情報を格納するものです。

Azure Table Storage の詳細を確認します。

Azure Blob Storage

このサービスを使用すると、大きなバイナリ ファイルを格納できます。 Azure Blob Storage を使用して、 追跡対象オブジェクト で撮影した写真をサムネイルとして格納します。

デモ アプリケーションの目的上、イメージを格納する BLOB コンテナーが 1 つ必要です。

Azure Blob Storage の詳細を確認します。

Azure Storage の準備

Azure ストレージ サービスを使用するには、Azure ストレージ アカウントが必要です。 ストレージ アカウントを作成するには、「ストレージ アカウントの作成」を参照してください。 ストレージ アカウントの詳細については、「ストレージ アカウントの 概要」を参照してください。

ストレージ アカウントを取得したら、Azure portal から接続文字列を取得できます。 セキュリティ + ネットワーク>Access キーで確認できます。 接続文字列は、このレッスンの次のセクションで必要になります。

省略可能な Azure Storage Explorer

アプリケーション内の UI からすべてのデータ変更を表示および確認できますが、 Azure Storage Explorer をインストールすることをお勧めします。 このツールを使用すると、Azure Storage 内のデータを視覚化でき、デバッグと学習に役立ちます。

ヒント

Unity エディター内からテストする場合は、ローカル エミュレーターを使用できます。

シーンを準備する

  1. [階層] ウィンドウで、 DataManager オブジェクトを見つけて選択します。

    インスペクターに表示されている DataManager スクリプト コンポーネント構成フィールドを含む Unity のスクリーンショット。

    [インスペクター] ウィンドウの DataManager (スクリプト) コンポーネントには、 Azure ストレージ に関連するすべての設定が含まれています。 関連するすべての設定が既に設定されています。[ 接続文字列 ] フィールドは、Azure portal から取得した接続文字列フィールドに置き換えるだけで済みます。 ローカルの Azure ストレージ エミュレーター ソリューションを使用している場合は、既に指定されている接続文字列を保持するか、空のままにすることができます。

    DataManager (スクリプト) は、Table Storage と Blob Storage との通信を担当し、UI コンポーネント上の他のコントローラー スクリプトによって使用されます。

Azure Table Storage からのデータの書き込みと読み取り

注

HoloLens 2 のビルドとテストは必須ではありません。 HoloLens デバイスがない場合は、 HoloLens 2 エミュレーター でテストできます。 HoloLens.com でデバイスを購入できます。

すべての準備ができたら、追跡対象オブジェクトを作成します。

  1. HoloLens でアプリケーションを開き、[ オブジェクトの設定] を選択します。 EnterObjectName オブジェクトは、階層内でアクティブになります。 検索バーを選択し、追跡対象オブジェクトに付ける名前を入力します。 名前を指定したら、[ オブジェクトの設定 ] ボタンを選択します。 これにより、Azure Table Storage に追跡対象オブジェクトが作成されます。 オブジェクト カードが表示されます。

    このオブジェクト カードは追跡対象オブジェクトの UI 表現であり、このチュートリアル シリーズでは重要な役割を果たします。

  2. [ 説明 ] テキスト ボックスを選択し、「 Car」と入力し、[ 保存 ] ボタンを選択して変更を保存します。 アプリケーションを停止して再実行します。

  3. [ 検索オブジェクト] を 選択し、追跡対象オブジェクトの作成時に前に入力した名前を検索バーに入力します。 Azure Table Storage から取得されたすべてのデータを含むオブジェクト カードが表示されます。

  4. オブジェクトカードを閉じ、新しい追跡対象オブジェクトを作成し、そのデータを編集してください。

    ヒント

    Azure Storage Explorer をインストールした場合は、[オブジェクト] テーブルで追跡対象オブジェクトを見つけることができます。

Azure Blob Storage からイメージをアップロードしてダウンロードする

このセクションでは、Azure Blob Storage を使用して、追跡対象オブジェクトのサムネイルとして使用する画像をアップロードおよびダウンロードします。

注

このチュートリアルでは、Azure Blob Storage に画像をアップロードするために、アプリケーションで写真を撮影します。 Unity エディターからローカルでこれを実行している場合は、Web カメラがコンピューターに接続されていることを確認します。

  1. HoloLens でアプリケーションを開き、[オブジェクトの設定] を選択し、検索バーに「Car」と入力します。 オブジェクト カードで、[カメラ] ボタンを選択します。 写真を撮るために AirTap を実行するように指示されます。 写真を撮ると、アクティブなアップロードについて通知するメッセージが表示され、しばらくするとプレースホルダーの前の場所に画像が表示されます。

  2. 次に、アプリケーションを再実行し、追跡対象オブジェクトを検索します。 以前にアップロードした画像はサムネイルとして表示されます。

Azure Blob Storage からイメージを削除する

前のセクションでは、新しいイメージを Azure Blob Storage にアップロードしました。 このセクションでは、追跡対象オブジェクトの画像サムネイルを削除します。

  1. HoloLens でアプリケーションを開き、[オブジェクトの設定] を選択し、検索バーに「Car」と入力します。 サムネイル画像が表示された オブジェクト カード で、[ 削除 ] ボタンを選択します。 サムネイル画像はプレースホルダー画像に置き換えられます。

  2. 次に、アプリケーションを再実行し、以前に削除したサムネイルの追跡対象オブジェクトを検索します。 プレースホルダー画像のみが表示されます。