2015-05-15 13 views
15

Sto provando ad aggiungere un indice a un attributo all'interno di un oggetto mappa in DynamoDB e non riesco a trovare un modo per farlo. È qualcosa che è supportato o gli indici sono consentiti solo su valori scalari? La documentazione intorno a questo sembra essere piuttosto scarsa. Spero che la funzionalità di indicizzazione sia simile a MongoDB, ma finora gli approcci che ho fatto di riferire l'attributo all'indice usando la sintassi del punto non hanno avuto successo. Qualsiasi aiuto o informazioni aggiuntive che possono essere fornite è apprezzato.DynamoDB crea l'indice sulla mappa o sul tipo di elenco

risposta

16

Gli indici possono essere creati solo su attributi JSON di primo livello. Inoltre, le chiavi di intervallo devono essere valori scalari in DynamoDB (uno di String, Number, Binary o Boolean).

Da http://aws.amazon.com/dynamodb/faqs/:

D: interrogazione dei dati JSON in DynamoDB diverso?

No. È possibile creare un indice secondario globale o un indice secondario locale su qualsiasi elemento JSON di livello superiore. Ad esempio, supponiamo di aver archiviato un documento JSON contenente le seguenti informazioni su una persona: Nome, Cognome, Codice postale e un elenco di tutti i loro amici. Nome, Cognome e Codice postale sarebbero elementi JSON di primo livello. È possibile creare un indice per consentire la query in base a Nome, Ultimo Nome o CAP. L'elenco di amici non è un elemento di livello superiore, , pertanto non è possibile indicizzare l'elenco di amici. Per ulteriori informazioni su sull'indicizzazione secondaria globale e le sue funzionalità di interrogazione, vedere la sezione sugli indici secondari in queste domande frequenti.

D: Quali tipi di dati possono essere indicizzati?

Tutti i tipi di dati scalari (Numero, Stringa, Binario e Booleano) possono essere utilizzati per l'elemento chiave intervallo della chiave dell'indice secondario locale. Set, elenco e tipi di mappe non possono essere indicizzati.

Problemi correlati