次の方法で共有


Azure Cosmos DB での無効な要求例外の診断とトラブルシューティング

適用対象: NoSQL

HTTP 状態コード 400 は、要求に無効なデータが含まれているか、必要なパラメーターが不足していることを表しています。

ID プロパティがありません

このシナリオでは、次のようなエラーが表示されるのが一般的です。

必要なプロパティ 'id; ' が不足しているため、入力内容が無効です

このエラーを示す応答は、サービスに送信されている JSON ドキュメントに、必要な ID プロパティがないことを意味します。

解決策

ドキュメントの一部として REST の仕様に従って、文字列値を持つ id プロパティを指定すると、SDK はこのプロパティの値を自動生成しません。

パーティション キーの型が無効です

このシナリオでは、次のようなエラーが表示されるのが一般的です。

パーティション キー ... が無効です。

このエラーを示す応答は、パーティション キーの値が無効な型であることを意味します。

解決策

パーティション キーの値は、文字列または数値である必要があります。値が予期される型であることを確認してください。

パーティション キーの値を入力します

このシナリオでは、このようなエラーが発生することがよくあります。

応答の状態コードが成功を示していません: BadRequest (400); Substatus: 1001

ドキュメントから抽出された PartitionKey が、ヘッダーに指定された PartitionKey と一致しません

このエラーを示す応答は、操作を実行し、予期されるプロパティのドキュメントの本文値と一致しないパーティション キー値を渡していることを意味します。 コレクションのパーティション キーのパスが /myPartitionKey の場合、ドキュメントには、SDK メソッドを呼び出すときにパーティション キー値として提供された値と一致しない myPartitionKey というプロパティがあります。

解決策

ドキュメント プロパティ値に一致するパーティション キー値パラメーターを送信します。

数値パーティション キー値の精度の低下

このシナリオでは、次のようなエラーが表示されるのが一般的です。

要求されたパーティション キーがキーの範囲外です。パーティション キー値の精度が失われている可能性があります。

このエラーの応答は、Azure Cosmos DB でサポートされている値の範囲外にある数値パーティション キーを持つドキュメントに対する操作が原因である可能性があります。 数値プロパティ値の最大長については、「項目あたりの制限」を参照してください。

解決策

正確な数値が必要な場合は、パーティション キーに string 型を使用することを検討してください。

次のステップ