programing

Azure DocumentDB 소유자 리소스가 없습니다.

minimums 2023. 4. 23. 10:12
반응형

Azure DocumentDB 소유자 리소스가 없습니다.

같은 에러가 발생.Azure. 서류.DocumentClientException:메시지: {"Errors":["Owner resource does not exist"}, 이것은 나의 시나리오입니다.웹 앱을 Azure에 배포하고 docDb에서 문서를 가져오려고 하면 이 오류가 발생합니다.docdb는 파란색으로 존재하며 제가 찾고 있는 문서를 포함하고 있습니다.

이상하게도 로컬 머신(VS에서 실행)에서는 정상적으로 동작합니다.Azure와 로컬에서 같은 설정을 사용하고 있습니다.누군가는 알고 있고, 아이디어도 있어요.

감사해요.

소유자 리소스가 없습니다.

잘못된 데이터베이스 이름을 지정했을 때 발생합니다.

예를 들어, 다음을 사용하여 문서를 읽는 동안client.readDocument(..)여기서 클라이언트는DocumentClient인스턴스, 에서 지정된 데이터베이스 이름docLink틀렸습니다.

이 오류는 존재하지 않는 데이터베이스/컬렉션/문서 읽기와 관련된 것으로 보입니다.기존 데이터베이스와 동일한 오류가 발생했지만 이름을 소문자로 입력했더니 파티션 키에 관계없이 이 오류가 발생한 것 같습니다.

제가 지금 생각해낼 수 있는 최선의 해결책은 이 모든 것을

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

Azure DocumentDB 읽기 문서 리소스를 찾을 수 없습니다.

저도 같은 문제가 있었어요.Visual Studio 2017은 선택한 테스트 구성이 아닌 릴리스 구성을 사용하여 게시하고 있습니다.이 릴리스 구성의 CosmosDB 데이터베이스 이름이 존재하지 않기 때문에 Azure 테스트 서버에 게시할 때 "owner resource does not exist" 오류가 발생했습니다.정말 짜증나고 끔찍한 오류 메시지.

문서에 첨부 파일을 찾을 수 없기 때문에 발생할 수도 있습니다.이것은 Azure Cosmos DB Data Migration 툴을 사용하여 cosmos DB 콘텐츠를 이동할 때 흔히 볼 수 있는 시나리오입니다.이 툴은 모든 문서를 완전한 정의로 이동하지만 실제 첨부 파일 콘텐츠는 이동하지 않습니다.

따라서 첨부파일이 있음을 나타내는 문서와 첨부링크도 기재되어 있습니다만, 이 링크에서는 툴이 첨부파일을 이동하지 않았기 때문에 첨부파일을 찾을 수 없습니다.

이제 내 코드를 다음과 같이 포장합니다.

try{
    var attachments = client.CreateAttachmentQuery(attacmentLink, options);
    [...]
}
catch (DocumentClientException ex)
{
    throw new Exception("Cannot retrieve attachment of document", ex);
}

무슨 일이 일어나고 있는지 의미 있는 힌트를 얻을 수 있도록 말이죠.

주입 때문에 이 하였습니다.CosmosClient하다따라서 첫 번째 데이터베이스를 쿼리하려는 코드는 두 번째 데이터베이스에 대해 실행되고 있었습니다.

가 은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★CosmosClientCollection 가 있는 .CosmosClient

언급URL : https://stackoverflow.com/questions/43551321/azure-documentdb-owner-resource-does-not-exist

반응형