2017-03-12 8 views
0

ここで間違っていることはわかりますが、文書my-dbmy-documentsに文書を挿入しようとしていますが、これは起こっていません。DocumentDBは決して文書を作成しません

私はその後、コレクションに文書を挿入しようthis-

_endpointUri = new Uri(Properties.Settings.Default.DocumentDBEndpoint); 
    _privateKey = Properties.Settings.Default.DocumentDBKey; 
    _databaseName = Properties.Settings.Default.DocumentDBDatabase; 
    _collectionName = collectionName; 
    _collectionUri = UriFactory.CreateDocumentCollectionUri(_databaseName, _collectionName); 

    _documentClient = new DocumentClient(_endpointUri, _privateKey); 

のようなドキュメントクライアントを作成します。

public async Task Set(T document) 
{ 
    await _documentClient.CreateDocumentAsync(_collectionUri.ToString(), document); 
} 

私は_collectionUriを渡すだけでなく、toStringを試してみましたが、どちらも同じことを行います。私は、デバッガをステップ実行した場合、そのコレクションのURIのtoStringはlike-

DBS /私の-DB/colls /私の-文書私が試した

呼び出しで.ConfigureAwait(false)を設定、などではないように見えますそれをまったく待っている。もちろん待たれていないときは、細かいステップを踏んでいますが、my-documentsコレクションにドキュメントが追加されることはありません。

エラーがスローされないため、私はCreateDocumentAsyncを使用しているかどうかわかりません(UpsertDocumentAsyncも試してみました)。

誰かが私が作っている間違いの情報を見ることができますか?

私がAzureでテストしたところ、MongoDB ApiでDocumentDBを使用しました。それは関連しているかもしれません。私は簡単にすべてを吹き飛ばすことができるので、DocumentDB APIを使用して再作成し、問題が解決するかどうかを確認します。

+0

MongoDBとの互換性を持つデータベースを作成しても、DocumentDBプロトコル+関連のSDK経由でネイティブコールを作成する能力には影響しません。 –

答えて

0

これは私が同じであると仮定した2つの異なる問題であることが判明しました。

ないドキュメントCreating-は

だから私は、Azureストレージに私のデータベース/コレクションをダンプMongoDBのドライバを使用するように、もともとこれを設定しました。決して作成されないドキュメントの問題は、DocumentDBがAzureストレージリソースに自身を保存しないためです。 [設定]> [コレクション]> [参照]の下に新しいDocumentDBの外観を作成すると、データベースが存在しないことがわかります。残念なことに、DocumentDBにはデスクトップDB管理アプリケーションが含まれているように見えません。これは、紺碧のポータルで行う必要があります。

私が指摘していたデータベース/コレクションが上記の理由で存在しなかったということは明らかです。

待つ決してReturning-

どうやらあなたは、コールスタックを介してすべての道を待つ必要があるものを待つつもりなら。

(async) POST:Api (awaits) - >(async) Service:CreateDocument - >(async) Repository:Set (awaits) - >(async) DocumentClient:CreateDocumentAsync

問題は私のサービスは非同期であるにもかかわらず、それがRepository:Setにコールを待っていないたということでした。チェーンの上にあるすべてのものを待っていると、私はステップスルーしてサーバーからの応答を受け取ることができました。

関連する問題