Azure Cosmos SQL API - 如何将自定义对象存储为 @PartitionKey
Posted
技术标签:
【中文标题】Azure Cosmos SQL API - 如何将自定义对象存储为 @PartitionKey【英文标题】:Azure Cosmos SQL API - How do I store a custom object as @PartitionKey 【发布时间】:2021-10-29 19:14:13 【问题描述】:是否可以使用 Java 8 使用 @PartitionKey 将自定义 POJO 存储为 Json 字符串?是的,请告诉我如何。
import com.azure.spring.data.cosmos.core.mapping.PartitionKey;
@PartitionKey
private Result result;
结果的值类似于"resultID":"1","secret":"my secret"
【问题讨论】:
您可以配置嵌套路径 您能详细说明一下吗?代码 sn-ps 会有所帮助 无法将对象指定为 Cosmos DB 中的分区键。但是,可以为 Core (SQL) API 提供子分区,它允许您指定最多 3 个用作分区层次结构的属性。如果你有兴趣,这里有一个私人预览。注册在这里。 aka.ms/cosmos-subpartitioning-signup @MarkBrown,谢谢!这是我现在解决它的方法(我的答案如下)。 【参考方案1】:正如@Mark Brown 正确评论的那样,我认为-“不可能在 Cosmos DB 中将对象指定为分区键”,但是我做了一个嵌套分区键路径,如下所示:
import com.azure.spring.data.cosmos.core.mapping.Container;
@Container(containerName = "DcLogins", partitionKeyPath = "/result/company",autoScale = true)
public class DcLogins
private Result result;
public class Result
private String company;
顺便提一下,在partitionKeyPath
中,result
是Result
的对象,company
变量中的变量应该与你处理"company":"sapcustid","secret":"my secret"
的json对象匹配
【讨论】:
以上是关于Azure Cosmos SQL API - 如何将自定义对象存储为 @PartitionKey的主要内容,如果未能解决你的问题,请参考以下文章
Cosmos db 使用 Java SDK 部分更新 SQL api
Azure 函数:如何将 http 触发器函数的查询字符串参数绑定到 Cosmos DB 的 SQL 查询
如何配置我的 Azure Functions 环境,以便可以在 Python 代码中使用 Cosmos DB 客户端?
Azure Rest API 用于获取 Cosmos DB 帐户的 RU 指标
如何使用 Cassandra API 将 Python 的 cosmos_client 连接到 Cosmos DB 实例?