2012-03-02 3 views
2

Je sais que AmazonDB prend en charge le nombre, la chaîne, l'ensemble de nombres et l'ensemble de chaînes en tant que types d'élément. Mais, que diriez-vous d'un ensemble d'un ensemble de chaînes (tableau de tableau, ou tableau multidimensionnel)?Ajout d'un tableau d'un tableau à Amazon DynamoDB

Dans le cas où il est possible, c'est la seule façon que je trouve à faire, ce qui ne fonctionne pas (en utilisant 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))); 

Je ne veux pas avoir deux colonnes (une pour $ units_frequencies ["id"] et $ units_frequencies ["frequency"]) car le second peut avoir deux index avec les mêmes valeurs, ce qui n'est pas autorisé par Dynamo.

Merci d'avance.

+1

Désolé, oublié de coller l'erreur renvoyée par DynamoDB (dans le cas où il aide): [body] => CFSimpleXML objet ( [__type] => com.amazon.coral.service # SerializationException [Message] => Début de la structure ou de la carte trouvé là où il n'est pas prévu ) – DMerliMorais

Répondre

1

Ce n'est pas le cas.
au moins en regardant AttributeValue.class (AWS SDK Java)
Je ne pouvais pas trouver aussi aucune indication sur le site de la documentation à l'exception de ceux qui traitent int, string, ensemble de chaîne ou un ensemble d'int

+0

Vous avez raison. Je me suis débarrassé de mon problème en utilisant un ensemble de chaînes, sur lequel chacun des index ont l'ID et la fréquence comme ça: 400 # 20, 401 # 30 et 402 # 50. – DMerliMorais

+0

Génial! Si vous croyez qu'une réponse est correcte, veuillez la marquer comme telle. –