#java #azure-sql-database #azure-cosmosdb #azure-java-sdk
Вопрос:
Можно ли сохранить пользовательское POJO в виде строки Json с помощью @PartitionKey с помощью Java 8.? Это да, пожалуйста, скажите мне, как .
import com.azure.spring.data.cosmos.core.mapping.PartitionKey;
@PartitionKey
private Result resu<
результат будет иметь такое значение, как {"resultID":"1","secret":"my secret"}
Комментарии:
1. Вы можете настроить вложенный путь
2. не могли бы вы поподробнее рассказать об этом ? фрагменты кода будут полезны
3. В Cosmos DB невозможно указать объект в качестве ключа раздела. Однако существует работа по обеспечению разбиения на разделы для API Core (SQL), который позволяет указывать до 3 свойств, которые действуют как иерархия для ваших разделов. Если вам интересно, есть приватный предварительный просмотр этого. Зарегистрироваться можно здесь. aka.ms/cosmos-subpartitioning-signup
4. @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 resu<
public class Result {
private String company;
Просто хочу отметить, что в partitionKeyPath
, result
объект Result
is и company
переменная in должны соответствовать объекту json, с которым вы имеете дело {"company":"sapcustid","secret":"my secret"}