起きた現象
- 複数のパーティションキーを設定したコンテナを作成
-
python SDK
を使用してアイテムを登録する。 -
ValueError: Unsupported paths count.
が発生する。
解決策
バージョン4.5.2b1
をインストールする。
pip install azure-cosmos==4.5.2b1
もう少し詳しく
複数パーティションキーの設定
コンテナ作成時に、複数のパーティションキーを設定することができます。
以下では試しに
- id
- address
を設定しております。
このような設定を行うことで、同じid
, email
, address
の組み合わせのアイテムを追加することが出来なくなります。
実行したコード
このコンテナに対して、pythonを使用してアイテムを追加しようとすると、バージョン4.5.1
ではエラーが発生しました。
具体的なコードは以下です。
from azure.cosmos import CosmosClient
client = CosmosClient(database_endpoint, database_key)
database_client = client.get_database_client(database_name)
container_client = database_client.get_container_client(container_name)
item = {
"id": "test_id",
"email": "hoge@piyo.com",
"address": "kanagawa"
}
# ここでエラー
container_client.create_item(body=item, enable_automatic_id_generation=True)
まとめ
今回のエラーを解決するにあたって、以下のISSUEを参考にさせていただきました。
https://github.com/Azure/azure-sdk-for-python/issues/30670
だれかの助けになれば幸いです。
ご紹介
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください:
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area