GUID Idをパーティションキーとして使用していますが、ストアドプロシージャを実行しようとすると、問題が発生します。ストアドプロシージャを実行するには、パーティションキーを指定する必要があります。何がわかりません。この場合、値を提供する必要がありますか?支援してください。
ストアドプロシージャが登録されているコレクションが単一パーティションのコレクションである場合、トランザクションはコレクション内のすべてのドキュメントにスコープされます。コレクションがパーティション化されている場合、ストアドプロシージャは、単一のパーティションキーのトランザクションスコープで実行されます。次に、各ストアドプロシージャの実行には、トランザクションを実行する必要があるスコープに対応するパーティションキー値を含める必要があります。
ここ に言及した上記の説明を参照できます。
@Rafat Saroshが言ったように、GUID Id
は適切ではありませんpartitioning key
。状況に応じて、city
の方が適切な場合があります。データベースを調整する必要がある場合がありますpartitioning scheme
パーティションキーは、定義後に削除または変更できないためです。
データのエクスポート をjson
ファイルに、次に import をcity
でパーティション化された新しいコレクションに Azure Cosmos DBデータ移行ツール 。
それがあなたを助けることを願っています。
要約すると:
問題:
SQLを実行してドキュメントをクエリするときに、特定のパーティションキー値を指定できません。
解決策:
1.クエリSQLを実行するときにEnableCrossPartitionQuery
をtrue
に設定します(パフォーマンスのボトルネックがあります)
2.頻繁に照会されるフィールドをパーティショニングキーとして設定することを検討してください。
このビデオを見てください https://youtu.be/F0wEDdxQER0?t=9m40s
パーティションキーの詳細については、こちらをご覧ください: https://docs.Microsoft.com/en-us/Azure/cosmos-db/partition-data