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クラスのインスタンスを作成する方法を学習しました。