提问人:Looi Wei En 提问时间:10/11/2023 更新时间:10/27/2023 访问量:110
在 CosmosDB 中创建项时的“不支持的路径计数”
"Unsupported Paths Count" when creating item in CosmosDB
问:
我有一个包含分层分区键的 Cosmos DB 容器。第一个分区键是 /WaID,第二个分区键是 /Media。我在 Azure 函数中使用在容器中创建项。下面是 的结构。每当向 Twilio 号码发送消息时,都会从 Twilio 在 WhatsApp 上发送的请求中获取信息。container.create_item(message_item)
message_item
message_item
message_item = {
"id": sms_message_sid,
"WaId": wa_id,
"Media": "false",
"NumMedia": num_media,
"ProfileName": profile_name,
"SmsStatus": sms_status,
"Body": body,
"To": to,
"NumSegments": num_segments,
"ReferralNumMedia": referral_num_media,
"AccountSid": account_sid,
"From": sender_number,
"ApiVersion": api_version,
}
当我向 Twilio WhatsApp 号码发送消息时,请求将发送到 Azure 函数并获取信息。但是,当线路运行时,会发生以下错误。
ps:当我create_item
只有一个分区键的 Cosmos DB 容器中时,不会发生错误。如果我在 Azure Cosmos DB 接口上手动创建项,使用从 Twilio 传递的message_item
中完全相同的值,也不会发生此错误。create_item
ValueError: Unsupported paths count.
---
我尝试显式确定分区键,如下所示:
partition_key_values = {
"WaId": wa_id,
"Media": "false"
}
并像这样使用:create_item
container.create_item(message_item, partition_key=partition_key_values)
但它不起作用
---
关于如何为具有分层分区键的容器create_item正确方法的任何想法?
答:
0赞
Cole Smith
10/27/2023
#1
此功能现已在 的预发行版中提供。您必须安装该版本或更高版本(供将来的读者使用)。有关如何使用它的信息,请访问:https://github.com/Azure/azure-sdk-for-python/pull/31121azure-cosmos 4.5.2b1
评论