我有相同的錯誤icrosoft.Azure.Documents.DocumentClientException:消息:{「錯誤」:[「所有者資源不存在」]},這是我的方案。當我將我的webapp部署到Azure並嘗試從docDb獲取一些文檔時,它會引發此錯誤。 docdb以azure存在,幷包含我查找的文檔。Azure DocumentDB所有者資源不存在
奇怪的是,從我的本地機器(從VS運行),這工作正常。我在Azure和本地中使用相同的設置。有人有這個想法。
感謝
我有相同的錯誤icrosoft.Azure.Documents.DocumentClientException:消息:{「錯誤」:[「所有者資源不存在」]},這是我的方案。當我將我的webapp部署到Azure並嘗試從docDb獲取一些文檔時,它會引發此錯誤。 docdb以azure存在,幷包含我查找的文檔。Azure DocumentDB所有者資源不存在
奇怪的是,從我的本地機器(從VS運行),這工作正常。我在Azure和本地中使用相同的設置。有人有這個想法。
感謝
此錯誤肯定似乎與讀取數據庫/收集/文件不存在。對於確實存在的數據庫,我得到了相同的確切錯誤,但我輸入的名稱爲小寫,無論您的分區密鑰如何,都會出現此錯誤。
我能想出現在最好的解決辦法是包裹
var response = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(database, collection, "documentid"));
中的呼叫嘗試捕捉,不是很優雅,我寧願響應回來一些更多的細節,但是,這是微軟爲雅。
像下面的東西應該做的伎倆。
Model myDoc = null;
try
{
var response = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(database, collection, document));
myDoc = (Model)(dynamic)response.Resource;
}
catch { }
if (myDoc != null)
{
//do your work here
}
這是爲了更好地瞭解錯誤,然後創建缺失的資源,以便您不再發生錯誤。
一些資源,我不得不得出這一結論之前,要經過: https://github.com/DamianStanger/DocumentDbDemo
注意:看起來數據庫名稱是CASE-SENSITIVE。這是我的問題。 –
「自有資源不存在」當你給一個錯誤的數據庫名稱出現。
例如,在用client.readDocument讀取文檔時,其中客戶端是DocumentClient實例,但docLink中給出的數據庫名稱是錯誤的。
根據異常'「錯誤」:[「所有者資源不存在」]},似乎文檔不存在於集合中。但是你提到它是存在的。你有沒有嘗試[遠程調試WebApp](https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-dotnet-troubleshoot-visual-studio#a-nameremotedebugaremote-調試,網絡應用程序)。檢查documentId'Uri documentUri = UriFactory.CreateDocumentUri( databaseName, collectionName, documentId);' –
我只是可以重新生成錯誤信息,而文檔不存在集合。你有嘗試配置另一個documentdb來測試它嗎?據我所知,不需要在Azure WebApp上進行特殊配置。更多詳細信息請參考[文檔](https://docs.microsoft.com/en-us/azure/documentdb/documentdb-dotnet-application#a-nametoc395637774astep-7-deploy-the-application-to-azure-網站) –