Diagnozowanie i rozwiązywanie problemów z nieprawidłowymi wyjątkami żądań w usłudze Azure Cosmos DB
DOTYCZY: NoSQL
Kod stanu HTTP 400 reprezentuje żądanie zawiera nieprawidłowe dane lub brakuje wymaganych parametrów.
Brak właściwości ID
W tym scenariuszu często występuje błąd:
Zawartość wejściowa jest nieprawidłowa, ponieważ wymagane właściwości — "id; " - brakuje
Odpowiedź z tym błędem oznacza, że dokument JSON wysyłany do usługi nie ma wymaganej właściwości identyfikatora.
Rozwiązanie
id
Określ właściwość z wartością ciągu zgodnie ze specyfikacją REST w ramach dokumentu. Zestawy SDK nie są automatycznie generowane dla tej właściwości.
Nieprawidłowy typ klucza partycji
W tym scenariuszu często występują błędy, takie jak:
Klucz partycji ... jest nieprawidłowy.
Odpowiedź z tym błędem oznacza, że wartość klucza partycji jest nieprawidłowym typem.
Rozwiązanie
Wartość klucza partycji powinna być ciągiem lub liczbą, upewnij się, że wartość jest oczekiwanych typów.
Nieprawidłowa wartość klucza partycji
W tym scenariuszu często występują następujące błędy:
Kod stanu odpowiedzi nie wskazuje powodzenia: BadRequest (400); Stan podrzędny: 1001
Klucz partycji wyodrębniony z dokumentu nie jest zgodny z kluczem określonym w nagłówku
Odpowiedź z tym błędem oznacza, że wykonujesz operację i przekazujesz wartość klucza partycji, która nie jest zgodna z wartością treści dokumentu dla oczekiwanej właściwości. Jeśli ścieżka klucza partycji kolekcji to /myPartitionKey
, dokument ma właściwość o nazwie myPartitionKey
z wartością, która nie jest zgodna z wartością podaną jako wartość klucza partycji podczas wywoływania metody zestawu SDK.
Rozwiązanie
Wyślij parametr wartości klucza partycji zgodny z wartością właściwości dokumentu.
Utrata dokładności wartości klucza partycji liczbowej
W tym scenariuszu często występują błędy, takie jak:
Żądany klucz partycji jest poza zakresem kluczy, prawdopodobnie ze względu na utratę dokładności wartości klucza partycji
Odpowiedź z tym błędem może być spowodowana przez operację w dokumencie z kluczem partycji liczbowej, którego wartość wykracza poza to, co jest obsługiwane przez usługę Azure Cosmos DB. Zobacz Limity poszczególnych elementów, aby uzyskać maksymalną długość wartości właściwości liczbowej.
Rozwiązanie
Rozważ użycie typu string
klucza partycji, jeśli wymaga dokładnej wartości liczbowej.
Następne kroki
- Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu .NET SDK usługi Azure Cosmos DB.
- Dowiedz się więcej o wytycznych dotyczących wydajności platformy .NET w wersji 3 i .NET w wersji 2.
- Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu JAVA SDK usługi Azure Cosmos DB w wersji 4.
- Dowiedz się więcej na temat wytycznych dotyczących wydajności zestawu Java v4 SDK.