Как установить ключ диапазона DynamoDB, строку или карту - PullRequest
0 голосов
/ 11 июня 2018

У меня есть таблица DynamoDB с первичным хеш-ключом и ключом диапазона.Ключ диапазона будет иметь два атрибута.Скажем, эти имена атрибутов: name1, name2, со значениями value1, value2

План A : объединить два атрибута в виде строки, использовать запятую в качестве разделителя
Первичный ключ хеш-функции: id
Клавиша диапазона: value1,value2

Минусы
1. Запятая может не работать, если некоторые проводные значения содержат этот разделитель

План B : преобразовать карту в Строку для ключа диапазона
Первичный ключ хеша: id
Ключ диапазона: “{\“name1\”: \“value1\”, \“name2\”: \“value2\”}”

Минусы
1.результат в другую строку JSON на основе того же значения?(Не уверен), нужно поддерживать несколько SDK для чтения / записи.Как Java и Ruby

Итак, какое решение работает лучше?Или есть предложения получше?

Спасибо!Ray

1 Ответ

0 голосов
/ 13 июня 2018

Вы на правильном пути.Документы AWS, касающиеся дизайна ключей, поддерживают ваше первое предложение, но в нем также есть некоторые предупреждения о ситуации, которую вы назвали «минусами».

Я не думаю, что у вас могут возникнуть проблемы с различными парсерами SDK, но я такжедумаю, что немного предосторожностей здесь будет хорошей идеей.Таким образом, вместо непосредственного анализа json-строки с использованием sdk, я бы вручную объединял значения с помощью пользовательской функции для генерации детерминированного значения, такого как "name1-value1-name2-value2" или "name1:value1-name2:value2".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...