无法从部署在Azure中的应用API访问Azure中的DocumentDB集合

本文关键字:Azure API 访问 中的 集合 DocumentDB 应用 部署 | 更新日期: 2023-09-27 18:09:30

我有一个API访问集合DocumentDB的问题。如果我从我的开发环境(Visual Studio)运行API,它工作得很好,并返回集合中的所有JSON文档。延迟时间约为1分钟。但是当API部署在Azure中时,它不会返回任何东西。我还没有在API中实现应用程序洞察。

这个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,没有分区

无法从部署在Azure中的应用API访问Azure中的DocumentDB集合

症状表明应用程序无法连接到数据库。这可能是由于应用程序无法读取Azure应用服务设置中定义的数据库端点和键。

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

你可以找到更多关于如何配置环境变量和连接字符串在Azure应用程序服务(我假设它是一个Web应用程序)在这里:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/