チュートリアル:Azure Cosmos DB バックエンドを使用してセッションやデバイス間で Azure Spatial Anchors を共有する

このチュートリアルは、セッションやデバイス間での Azure Spatial Anchors の共有 の続きです。セッションとデバイス間で Azure 空間アンカーを共有しながら、Azure Cosmos DB をバック エンド ストレージとして利用するための機能をいくつか追加するプロセスについて説明します。

オブジェクトの永続性を示す GIF

このチュートリアルでは Unity と Azure Cosmos DB を使用しますが、これは Spatial Anchors 識別子を複数デバイス間で共有する方法の例を示すことのみを目的としています。 同じ目的を実現するために、他の言語やバックエンド テクノロジを使用することもできます。

データベース アカウントの作成

先ほど作成したリソース グループに Azure Cosmos DB データベースを追加します。

  1. 新しいブラウザー ウィンドウで、Azure Portal にサインインします。

  2. 左側のメニューで、 [リソースの作成] を選択します。

    Azure portal でリソースを作成する

  3. [新規] ページで、[データベース][Azure Cosmos DB] の順に選択します。

    Azure portal の [データベース] ウィンドウ

  4. [Azure Cosmos DB アカウントの作成] ページで、新しい Azure Cosmos DB アカウントの設定を入力します。

    設定 説明
    サブスクリプション 該当するサブスクリプション この Azure Cosmos DB アカウントに使用する Azure サブスクリプションを選択します。
    リソース グループ [新規作成] 、アカウント名 [新規作成] を選択します。 その後、自分のアカウントの新しいリソース グループの名前を入力します。 簡略化のため、Azure Cosmos DB アカウント名と同じ名前を使用します。
    アカウント名 一意の名前 自分の Azure Cosmos DB アカウントを識別するための一意の名前を入力します。

    アカウント名に使用できるのは、小文字、数字、ハイフン (-) のみで、長さは 3 文字から 44 文字の範囲にする必要があります。
    API テーブル API によって、作成するアカウントの種類が決まります。 Azure Cosmos DB には、NoSQL (ドキュメント データベース用)、Gremlin (グラフ データベース用)、MongoDB (ドキュメント データベース用)、Azure Table、Cassandra の 5 種類の API が用意されています。 API ごとに別のアカウントを作成する必要があります。

    このクイックスタートでは Table 用 API で動作するテーブルを作成するので、Azure Table を選択します。

    Table 用 API の詳細については、こちらをご覧ください
    場所 ユーザーに最も近いリージョン Azure Cosmos DB アカウントをホストする地理的な場所を選択します。 データに最も高速にアクセスできる、ユーザーに最も近い場所を使用します。
    容量モード プロビジョニング スループットまたはサーバーレス プロビジョニング スループット モードでアカウントを作成するには、 [Provisioned throughput](プロビジョニング スループット) を選択します。 サーバーレス モードでアカウントを作成するには、 [サーバーレス] を選択します。

    追加の料金を回避するために、 [geo 冗長性] オプションと [マルチ リージョン書き込み] オプションを [無効] のままにし、 [ネットワーク] および [タグ] セクションをスキップすることができます。

  5. [確認および作成] を選択します。 検証が完了したら、 [作成] を選択してアカウントを作成します。

    Azure Cosmos DB の新しいアカウント ページ

  6. アカウントの作成には数分かかります。 "デプロイが進行中です" というメッセージが表示されます。 デプロイが完了するまで待ってから、 [リソースに移動] を選択します。

    Azure portal の通知ウィンドウ

後で必要になるため、Connection String をコピーします。

SharingService ファイルに軽微な変更を加える

ソリューション エクスプローラーで、SharingService\Startup.cs を開きます。

ファイルの先頭にある #define INMEMORY_DEMO を見つけ、その行をコメントアウトします。ファイルを保存します。

ソリューション エクスプローラーで、SharingService\appsettings.json を開きます。

StorageConnectionString プロパティを見つけて、その値を、データベース アカウントの作成手順でコピーした Connection String 値と同じになるように設定します。 ファイルを保存します。

共有サービスを再度発行し、サンプル アプリを実行できます。

次のステップ

このチュートリアルでは、Azure Cosmos DB を使用して、デバイス間でアンカーの識別子を共有しました。 新しい Unity HoloLens アプリで Azure Spatial Anchors を使用する方法をさらに学習する場合は、次のチュートリアルに進んでください。