首页 文章

无法从Azure中部署的App API访问Azure中的DocumentDB集合

提问于
浏览
0

我有一个访问集合DocumentDB的API的问题 . 如果我从我的开发环境(Visual Studio)运行API,它运行良好并返回集合中的所有JSON文档 . 延迟时间约为1分钟 . 但是当在Azure中部署API时,它不会返回任何内容 . 我还没有在API中实现Application Insight .

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();

集合大小为160MB,没有分区 .

1 回答

  • 0

    症状表明应用程序无法连接到数据库 . 这可能是由于应用程序无法读取Azure App Service设置中定义的数据库 endpoints 和密钥 .

    string DatabaseId = ConfigurationManager.AppSettings["database"];
    string CollectionId = ConfigurationManager.AppSettings["collectionExperimentos"];
    
    DocumentClient client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"],
    

    您可以在此处找到有关如何在Azure App Service(I 'm assuming it'是Web应用程序)中配置环境变量和连接字符串的更多信息:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

相关问题