Добавление массива массива в Amazon DynamoDB - PullRequest
3 голосов
/ 02 марта 2012

Я знаю, что AmazonDB поддерживает число, строку, набор номеров и набор строк в качестве типов элементов. Но как насчет набора строк (массив или многомерный массив)?

В случае, если это возможно, это единственный способ, который я нашел, который не работал (с использованием PHP):

$units_frequencies["id"][0] = "400";
$units_frequencies["id"][1] = "401";
$units_frequencies["id"][2] = "402";
$units_frequencies["frequency"][0] = "20";
$units_frequencies["frequency"][1] = "30";
$units_frequencies["frequency"][2] = "50";

// item that will be inserted
$item = array(
    'id' => array(AmazonDynamoDB::TYPE_STRING => $id), 
    'arrays_field' => array(
        AmazonDynamoDB::TYPE_ARRAY_OF_STRINGS => array(
            AmazonDynamoDB::TYPE_ARRAY_OF_STRINGS => $units_frequencies)));

Я не хочу иметь два столбца (один для $ unit_frequencies ["id"] и $ units_frequencies ["quency "]), потому что второй может иметь два индекса с одинаковыми значениями, что не разрешено" Динамо " .

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Это не так.
По крайней мере, глядя на AttributeValue.class (AWS Java SDK)
Я также не смог найти никаких подсказок на сайте документации, за исключением тех, которые имеют дело с int, строкой, набором строк или набором int

0 голосов
/ 26 августа 2013

Вы можете в конечном итоге сериализовать ваш объект.Больше информации на https://java.awsblog.com/post/Tx1K7U34AOZBLJ2/Using-Custom-Marshallers-to-Store-Complex-Objects-in-Amazon-DynamoDB

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