在 CosmosDB 中创建项目时出现“不支持的路径计数”

问题描述 投票:0回答:1

我有一个包含分层分区键的 Cosmos DB 容器。第一个分区键是 /WaID,第二个分区键是 /Media。我在 Azure 函数中使用

container.create_item(message_item)
在容器中创建项目。下面是
message_item
的结构。
message_item
中的信息是每当消息发送到 Twilio 号码时从 Twilio 在 WhatsApp 上发送的请求中获取的。

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 Function 并获取信息。然而,当

create_item
行运行时,会出现以下错误。
ps:当我
create_item
在只有一个分区键的Cosmos DB容器中时,不会出现该错误。如果我在 Azure Cosmos DB 界面上使用从 Twilio 传递的
message_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 有什么想法吗?

azure azure-functions azure-cosmosdb partition database-partitioning
1个回答
0
投票

此功能现已针对

azure-cosmos 4.5.2b1
进行预发布。您必须安装该版本或更高版本(供未来发布的读者使用)。有关如何使用它的信息可以在这里找到:https://github.com/Azure/azure-sdk-for-python/pull/31121

© www.soinside.com 2019 - 2024. All rights reserved.