Udostępnij za pośrednictwem


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