Documentdb-connect-account

提供:Dev Guides
移動先:案内検索

DocumentDB-アカウントの接続

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

  • 終点
  • 認証キー

終点

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

エンドポイント

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

作成されたDocumentDBをクリック

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

キーオプションを選択

認証キー

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

マスターキー

  • マスターキーでできないことは何もありません。 マスターキーを使用して、必要に応じてデータベース全体を削除できます。
  • このため、マスターキーを共有したり、クライアント環境に配布したりすることは絶対に望まないでしょう。 追加のセキュリティ対策として、頻繁に変更することをお勧めします。
  • 上記のスクリーンショットで強調表示されているように、実際には各データベースアカウントにプライマリキーとセカンダリキーの2つのマスターキーがあります。

リソーストークン

  • マスターキーの代わりにリソーストークンを使用することもできます。
  • リソーストークンに基づく接続は、トークンで指定されたリソースにのみアクセスでき、他のリソースにはアクセスできません。
  • リソーストークンはユーザー権限に基づいているため、最初に1人以上のユーザーを作成します。これらのユーザーはデータベースレベルで定義されます。
  • 各ユーザーにアクセスを許可するリソースに基づいて、各ユーザーに1つ以上のアクセス許可を作成します。
  • 各アクセス許可は、特定のリソースへの読み取り専用アクセスまたはフルアクセスのいずれかを許可し、データベース内の任意のユーザーリソースにできるリソーストークンを生成します。

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

  • ステップ1 *-Program.csファイルに次の参照を追加します。
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Newtonsoft.Json;
  • ステップ2 *-エンドポイントURLと認証キーを追加します。 この例では、主キーを認証キーとして使用します。

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

private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/";
private const string AuthorizationKey =
   "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";
  • ステップ3 *-CreateDocumentClientと呼ばれる非同期タスクでDocumentClientの新しいインスタンスを作成し、新しいDocumentClientをインスタンス化します。
  • ステップ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クラスのインスタンスを作成する方法を学びました。