コレクションDocumentDBにアクセスするAPIに問題があります。開発環境(Visual Studio)からAPIを実行すると、正常に動作し、すべてのJSONドキュメントがコレクションに返されます。待ち時間は約1分です。しかし、APIがAzureにデプロイされても、何も返さない。私はAPIでApplication Insightをまだ実装していません。Azureで配布されているApp APIからAzureのDocumentDBコレクションへのアクセスがありません
APIのためのC#コードは次のとおりです。
string DatabaseId = ConfigurationManager.AppSettings["database"];
string CollectionId = ConfigurationManager.AppSettings["collectionExperimentos"];
DocumentClient client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"],
new ConnectionPolicy
{
ConnectionMode = ConnectionMode.Direct,
ConnectionProtocol = Protocol.Tcp
});
var collectionLink = UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId);
List<Experiment> experimentosList = new List<Experiment>();
experimentosList = client.CreateDocumentQuery<Experiment>(collectionLink).ToList();
experimentosList = experimentosList.OrderByDescending(experimentos => DateTime.Parse(experimentos.dateCreated)).ToList();
コレクションのサイズが160メガバイトで、何のパーティションがありません。
エドガー、を使用して?あなたはあなたのアプリケーションの同じデータベース/コレクションにazureで接続していますか(ログとして印刷することを確認するのが最も良い方法です)?また、最初のCreateDocumentQueryが0個の結果を返すか、それとも2番目のCreateDocumentQueryかをチェックできますか?いくつかのドキュメントにdateCreatedプロパティがない場合はDateTime.Parseがスローされますので、そうでないことを確認してください。問題がどこにあるかを知るために、さまざまな場所で十分なログを追加します。あなたのコードは私には良く見えます。 –
同じコードがローカルで実行されていると言われています...接続文字列が正しいことを確認しましたか(たとえば、AppSettingsを使用してデータベースとコレクション名を適切に設定/取得していますか? –