我正在尝试根据嵌套的 Java 对象和相应的 Json 对集合进行分区。我知道这样做可能看起来不合理,但我正在从事一个远未开发的项目,而我们的客户团队所期望的布局目前并不灵活。例如)一个名为receiptItem的对象的等效Json如下所示:
{
"id": "1",
"item": {
"itemId": "1",
"name": "itemName",
"value": 4.98,
...
},
"tax": {
"rate": 0.15,
"state": "FL",
...
},
...
}
是否可以使用“/item.itemId”行的语法在 Azure 中创建分区键?在使用 itemId 作为receiptItem 集合的分区键时,还有其他方法可以解决这个问题吗?
如果有关于如何在 Azure 中执行此操作的答案,我也会有兴趣弄清楚相应的 Java 代码是什么样的。与 C# 不同,@PartitionKey
注解似乎没有指定嵌套对象的属性(如 中[ParitionKey(item.id)]
),而且我在我的配置中(在 Spring 引导中)也看不到执行此操作的方法。
在 Java 中,看起来像:
@Data
@NoArgsConstructor
@FullArgsContructor
@ToString
@Document(collection="receiptItems")
public class ReceiptItem {
@Id
int id;
// @PartitionKey???
Item item;
Tax tax;
...
}