Azure Cosmos DB에서 잘못된 요청 예외 진단 및 문제 해결

적용 대상: NoSQL

HTTP 상태 코드 400은 요청에 잘못된 데이터가 포함되어 있거나 필요한 매개 변수가 누락되었음을 나타냅니다.

ID 속성 누락

이 시나리오에서는 일반적으로 다음과 같은 오류가 표시됩니다.

필수 속성 'id;'가 누락되어 입력 콘텐츠가 잘못되었습니다.

이 오류가 있는 응답은 서비스로 보내는 JSON 문서에 필수 ID 속성이 없음을 의미합니다.

솔루션

문서의 일부로 REST 사양에 따라 문자열 값이 있는 id 속성을 지정합니다. SDK는 이 속성에 대한 값을 자동으로 생성하지 않습니다.

잘못된 파티션 키 형식

이 시나리오에서는 일반적으로 다음과 같은 오류가 표시됩니다.

파티션 키 ...가 잘못되었습니다.

이 오류가 있는 응답은 파티션 키 값의 형식이 잘못되었음을 의미합니다.

솔루션

파티션 키의 값은 문자열 또는 숫자여야 합니다. 값이 필요한 유형인지 확인합니다.

잘못된 파티션 키 값

이 시나리오에서는 일반적으로 다음과 같은 오류가 표시됩니다.

응답 상태 코드가 성공을 나타내지 않음: BadRequest(400); 하위 상태: 1001

문서에서 추출된 PartitionKey가 헤더에 지정된 것과 일치하지 않습니다.

이 오류가 있는 응답은 작업을 실행하고 예상 속성에 대한 문서의 본문 값과 일치하지 않는 파티션 키 값을 전달하고 있음을 의미합니다. 컬렉션의 파티션 키 경로가 /myPartitionKey인 경우 문서에는 SDK 메서드를 호출할 때 파티션 키 값으로 제공된 값과 일치하지 않는 값을 가진 myPartitionKey라는 속성이 있습니다.

솔루션

문서 속성 값과 일치하는 파티션 키 값 매개 변수를 보냅니다.

다음 단계

  • Azure Cosmos DB .NET SDK를 사용하고 있는 경우 문제를 진단 및 해결합니다.
  • .NET v3.NET v2의 성능 지침에 대해 알아봅니다.
  • Azure Cosmos DB Java v4 SDK를 사용할 때 발생하는 문제를 진단하고 해결합니다.
  • Java v4 SDK의 성능 지침에 대해 알아봅니다.