DocumentDB-アカウントの接続

DocumentDBに対してプログラミングを開始するとき、最初のステップは接続することです。したがって、DocumentDBアカウントに接続するには、2つのことが必要になります。

  • Endpoint
  • 認証キー

終点

エンドポイントはDocumentDBアカウントへのURLであり、DocumentDBアカウント名と.documents.azure.comを組み合わせて作成されます。ダッシュボードに行きましょう。

次に、作成したDocumentDBアカウントをクリックします。次の画像に示すような詳細が表示されます。

[キー]オプションを選択すると、次の図に示すように追加情報が表示されます。エンドポイントとして使用できるDocumentDBアカウントへのURLも表示されます。

認証キー

認証キーには資格情報が含まれており、2種類のキーがあります。マスターキーはアカウント内のすべてのリソースへのフルアクセスを許可し、リソーストークンは特定のリソースへの制限付きアクセスを許可します。

マスターキー

  • マスターキーでできないことは何もありません。必要に応じて、マスターキーを使用してデータベース全体を吹き飛ばすことができます。

  • このため、マスターキーを共有したり、クライアント環境に配布したりすることは絶対に避けてください。追加のセキュリティ対策として、頻繁に変更することをお勧めします。

  • 上記のスクリーンショットで強調表示されているように、実際には、データベースアカウントごとにプライマリキーとセカンダリキーの2つのマスターキーがあります。

リソーストークン

  • マスターキーの代わりにリソーストークンを使用することもできます。

  • リソーストークンに基づく接続は、トークンで指定されたリソースにのみアクセスでき、他のリソースにはアクセスできません。

  • リソーストークンはユーザー権限に基づいているため、最初に1人以上のユーザーを作成し、これらはデータベースレベルで定義されます。

  • 各ユーザーにアクセスを許可するリソースに基づいて、ユーザーごとに1つ以上のアクセス許可を作成します。

  • 各権限は、特定のリソースへの読み取り専用またはフルアクセスのいずれかを許可し、データベース内の任意のユーザーリソースにすることができるリソーストークンを生成します。

第3章で作成したコンソールアプリケーションに行きましょう。

Step 1 −Program.csファイルに次の参照を追加します。

using Microsoft.Azure.Documents; 
using Microsoft.Azure.Documents.Client; 
using Microsoft.Azure.Documents.Linq; 
using Newtonsoft.Json;

Step 2−ここでエンドポイントURLと認証キーを追加します。この例では、主キーを認証キーとして使用します。

あなたの場合、エンドポイントURLと認証キーの両方が異なっている必要があることに注意してください。

private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/"; 
private const string AuthorizationKey = 
   "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";

Step 3 − CreateDocumentClientと呼ばれる非同期タスクでDocumentClientの新しいインスタンスを作成し、新しいDocumentClientをインスタンス化します。

Step 4 −Mainメソッドから非同期タスクを呼び出します。

以下は、これまでの完全なProgram.csファイルです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 
using System.Threading.Tasks;

using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Newtonsoft.Json;

namespace DocumentDBDemo { 

   class Program {
      private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/";
		
      private const string AuthorizationKey = "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/
         StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";
			
      static void Main(string[] args) {
         try {
            CreateDocumentClient().Wait();
         } catch (Exception e) {
            Exception baseException = e.GetBaseException();
            Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message);
         }
			
         Console.ReadKey();
      }
		
      private static async Task CreateDocumentClient() {
         // Create a new instance of the DocumentClient
         var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey);
      }
		
   }
}

この章では、DocumentDBアカウントに接続し、DocumentClientクラスのインスタンスを作成する方法を学習しました。