Azure Cosmos DB エミュレーターは、開発目的で設計されたAzure Cosmos DB サービスをエミュレートするローカル環境を提供します。 エミュレーターを使用すると、Azure サブスクリプションを作成したり、サービス コストを発生させたりすることなく、アプリケーションをローカルで開発およびテストできます。 アプリケーションがエミュレーターでどのように動作しているかに満足したら、最小限の摩擦でAzure Cosmos DB アカウントの使用に移行できます。
Important
運用環境のワークロードにはエミュレーターを使用しないことをお勧めします。
Tip
新しいアプリを構築するための最新のサンプルについては、新しいサンプル ギャラリー をご覧ください
エミュレーターとクラウド サービスの違い
エミュレーターは、Azure Cosmos DB サービスのすべての側面をエミュレートできない環境を開発者ワークスペースに提供します。 エミュレーターと同等のクラウド サービスの機能の主な違いをいくつか次に示します。
Important
現在、Linux エミュレーターでは、Apple シリコン シリーズまたは Microsoft ARM チップで実行されている開発者マシンはサポートされていません。 一時的な回避策は、Windows仮想マシンをインストールし、そのプラットフォームでエミュレーターを実行することです。
または、新しい Linux ベースのAzure Cosmos DB エミュレーター (プレビュー)を使用することもできます。
- エミュレーターの Data Explorer ペインは、NoSQL用 API と MongoDB 用 API でのみサポートされます。
- エミュレーターでは、 プロビジョニングされたスループットのみがサポートされます。 エミュレーターは 、サーバーレス スループットを サポートしていません。
- エミュレーターは起動時に既知のキーを使用します。 実行中のエミュレーターのキーを再生成することはできません。 別のキーを使用するには、 指定したカスタム キーでエミュレーターを起動する必要があります。
- エミュレーターを複数の地理的リージョンまたは複数のインスタンスにレプリケートすることはできません。 エミュレーターの実行中のインスタンスは 1 つだけサポートされます。 エミュレーターをスケールアウトすることはできません。
- エミュレーターは、400 RU/秒または 5 つの無制限サイズのコンテナーで、最大 10 個の固定サイズコンテナーをサポートするのが理想的です。 理論的には、より多くのコンテナーを作成できますが、エミュレーターでパフォーマンスが低下する可能性があります。
- エミュレーターでは、 セッション と 厳密な 整合性レベルのみがサポートされます。 エミュレーターはスケーラブルなサービスではなく、実際には整合性レベルを実装していません。 エミュレーターは、テスト目的で構成された整合性レベルにのみフラグを設定します。
- エミュレーターは、項目の一意識別子を 254 文字のサイズに制限します。
- エミュレーターは、クエリごとに最大 5 つの
JOINステートメントをサポートします。
エミュレーターの機能は、クラウド サービスの新機能のペースに遅れる可能性があります。 エミュレーターで使用できるようになるまでに少し遅延が生じる新しい機能や変更がクラウド サービスに存在する可能性があります。
認証
エミュレーターに対して行われるすべての要求は、TLS/SSL 経由のキーを使用して認証する必要があります。 エミュレーターには、既知の認証キーを使用するように構成された 1 つのアカウントが付属しています。 既定では、エミュレーターで使用できる資格情報は次の資格情報のみです。
| Value | |
|---|---|
| エンドポイント | localhost:8081 |
| 鍵 | C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== |
| 接続文字列 | AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==; |
Tip
Windows (ローカル) エミュレーターでは、エミュレーターで使用されるキーをカスタマイズすることもできます。 詳細については、「Windows エミュレーター引数」を参照してください。
エミュレーター証明書のインポート
場合によっては、エミュレーターの実行中のコンテナーからホスト コンピューターに TLS/SS 証明書を手動でインポートすることが必要になる場合があります。 この手順により、SDK で TLS/SSL 検証を無効にするなどの不適切なプラクティスが回避されます。 詳細については、「証明書の インポート」を参照してください。