Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Tipi di dati e regole di denominazione supportati in Amazon DynamoDB

Modalità Focus
Tipi di dati e regole di denominazione supportati in Amazon DynamoDB - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

In questa sezione vengono descritte le regole di denominazione in Amazon DynamoDB e i vari tipi di dati supportati da DynamoDB. Sono presenti limiti che si applicano ai tipi di dati. Per ulteriori informazioni, consulta Tipi di dati.

Regole di denominazione

Le tabelle, gli attributi e altri oggetti in DynamoDB devono avere un nome. I nomi devono essere significativi e concisi, ad esempio nomi come Prodotti, Libri e Autori sono auto-esplicativi.

Di seguito sono illustrate le regole di denominazione per DynamoDB:

  • Tutti i nomi devono essere codificati in UTF-8 e rispettano la differenza tra maiuscole e minuscole.

  • I nomi delle tabelle e i nomi degli indici devono avere una lunghezza compresa tra 3 e 255 caratteri e possono contenere solo i seguenti caratteri:

    • a-z

    • A-Z

    • 0-9

    • _ (carattere di sottolineatura)

    • - (trattino)

    • . (punto)

  • I nomi degli attributi devono contenere almeno un carattere e non devono superare i 64 KB. Una best practice consiste nel mantenere i nomi degli attributi i più brevi possibile. Questo aiuta a ridurre le unità di richiesta di lettura utilizzate, poiché i nomi degli attributi sono inclusi nella misurazione dell'utilizzo dell'archiviazione e della velocità di trasmissione effettiva.

    Di seguito sono elencate le eccezioni. Questi nomi di attributo non devono superare i 255 caratteri:

    • Nomi delle chiavi di partizione degli indici secondari

    • Nomi delle chiavi di ordinamento degli indici secondari

    • I nomi degli attributi proiettati specificati dall'utente (applicabile solo agli indici secondari locali).

Parole riservate e caratteri speciali

DynamoDB ha una lista di parole riservate e caratteri speciali. Per un elenco completo, consulta Parole riservate in DynamoDB. Inoltre, i seguenti caratteri hanno un significato speciale in DynamoDB: # (cancelletto) e : (due punti).

Sebbene DynamoDB consenta di utilizzare le parole riservate e i caratteri speciali per i nomi, consigliamo di evitare di farlo perché comporta la definizione di variabili segnaposto ogni volta che questi nomi vengono utilizzati in un'espressione. Per ulteriori informazioni, consulta Nomi degli attributi di espressione (alias) in DynamoDB.

Tipi di dati

DynamoDB supporta molti tipi di dati diversi per gli attributi all'interno di una tabella. Possono essere classificati come segue:

  • Tipi scalari: un tipo scalare può rappresentare esattamente un valore. I tipi scalari sono numero, stringa, binario, booleano e null.

  • Tipi di documento: un tipo di documento può rappresentare una struttura complessa con attributi nidificati, ad esempio in un documento JSON. I tipi di documento sono elenco e mappa.

  • Tipi di set: un tipo di set può rappresentare più valori scalari. I tipi di set sono set di stringhe, set di numeri e set di binari.

Quando si crea una tabella o un indice secondario, è necessario specificare i nomi e i tipi di dati di ciascun attributo di chiave primaria (chiave di partizione e chiave di ordinamento). Inoltre, ogni attributo chiave primaria deve essere definito come tipo stringa, numero o binario.

DynamoDB è un database NoSQL senza schema. Ciò significa che, oltre agli attributi della chiave primaria, non è necessario definire attributi o tipi di dati quando si creano tabelle. In confronto, i database relazionali richiedono di definire i nomi e i tipi di dati di ogni colonna quando crei una tabella.

Le seguenti sono descrizioni di ciascun tipo di dati, insieme a esempi in formato JSON.

Tipi scalari

I tipi scalari sono numero, stringa, binario, booleano e null.

Numero

I numeri possono essere positivi, negativi o zero. I numeri possono avere una precisione fino a 38 cifre. Il superamento di questo limite comporta un'eccezione. Se è necessaria una maggiore precisione di quella a 38 cifre, è possibile utilizzare le stringhe.

  • Intervallo positivo: da 1E-130 a 9.9999999999999999999999999999999999999E+125

  • Intervallo negativo: da -9.9999999999999999999999999999999999999E+125 a -1E-130

In DynamoDB, i numeri sono rappresentati come lunghezza variabile. Gli zero iniziali e finali vengono tagliati.

Tutti i numeri vengono inviati a DynamoDB attraverso la rete come stringhe in modo da aumentare al massimo la compatibilità tra linguaggi e librerie. Tuttavia, DynamoDB li tratta come attributi di tipo number per operazioni matematiche.

Puoi utilizzare il tipo di dati numero per rappresentare una data o un timestamp. Un modo per eseguire questa operazione consiste nell'utilizzare il tempo epoch, ovvero il numero di secondi trascorsi dalle 00:00:00 UTC del 1° gennaio 1970. Ad esempio, il tempo epoca (Unix epoch) 1437136300 rappresenta le 12:31:40 UTC del 17 luglio 2015.

Per ulteriori informazioni, vedere http://en.wikipedia. org/wiki/Unix_ora.

Stringa

Le stringhe sono Unicode con codifica binaria UTF-8. La lunghezza minima di una stringa può essere pari a zero se l'attributo non viene utilizzato come chiave per un indice o una tabella ed è vincolato dal limite di dimensione massima dell'elemento DynamoDB pari a 400 KB.

Le seguenti limitazioni addizionali si applicano agli attributi della chiave primaria che sono definiti come tipo string:

  • Per una chiave primaria semplice, la lunghezza massima del valore del primo attributo (la chiave di partizione) è 2.048 bytes.

  • Per una chiave primaria composita, la lunghezza massima del valore del secondo attributo (la chiave di ordinamento) è 1.024 byte.

DynamoDB raccoglie e confronta le stringhe utilizzando i byte della codifica di stringa UTF-8 sottostante. Ad esempio, "a" (0x61) è maggiore di "A" (0x41) e "¿" (0xC2BF) è maggiore di "z" (0x7A).

Puoi utilizzare il tipo di dati stringa per rappresentare una data o un timestamp. Un modo per farlo è utilizzando le stringhe ISO 8601, come mostrato in questi esempi:

  • 2016-02-15

  • 2015-12-21T17:42:34Z

  • 20150311T122706Z

Per ulteriori informazioni, consulta http://en.wikipedia. org/wiki/ISO_8601.

Nota

A differenza dei database relazionali tradizionali, DynamoDB non supporta a livello nativo dati di tipo data/ora. Può invece risultare utile per archiviare i dati di data e ora come tipo di dati numerici, utilizzando il formato Unix Epoch.

Binario

Gli attributi di tipo binario possono memorizzare qualsiasi tipo di dati binari, ad esempio testi compressi, dati crittografati o immagini. Quando DynamoDB confronta i valori binari tratta ciascun byte dei dati binari come non firmato.

La lunghezza di un attributo binario può essere zero, se l'attributo non viene utilizzato come chiave per un indice o una tabella ed è vincolato dal limite di dimensione massima dell'elemento DynamoDB pari a 400 KB.

Se definisci un attributo di chiave primaria come attributo di tipo binario, si applicano i seguenti vincoli aggiuntivi:

  • Per una chiave primaria semplice, la lunghezza massima del valore del primo attributo (la chiave di partizione) è 2.048 bytes.

  • Per una chiave primaria composita, la lunghezza massima del valore del secondo attributo (la chiave di ordinamento) è 1.024 byte.

Le applicazioni devono codificare i valori binari in formato codificato Base64 prima di inviarli a DynamoDB. Quando vengono ricevuti questi valori, DynamoDB decodifica i dati in una matrice di byte non firmata e li usa come lunghezza dell'attributo binario.

L'esempio seguente è un attributo binario che utilizza il testo con codifica Base64:

dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk

Booleano

Un attributo di tipo booleano può memorizzare true o false.

Null

Null rappresenta un attributo con uno stato sconosciuto o non definito.

Tipi di documento

I tipi di documento sono elenco e mappa. Questi tipi di dati possono essere annidati l'uno nell'altro per rappresentare strutture dati complesse fino a una profondità di 32 livelli.

Non esiste alcun limite al numero di valori in un elenco o in una mappa, purché l'elemento contenente i valori rientri nel limite di dimensione dell'elemento di DynamoDB (400 KB).

Un valore di attributo può essere una stringa vuota o un valore binario se l'attributo non viene utilizzato per una tabella o una chiave dell'indice. Il valore attributo non può essere un set vuoto (String Set, Number Set o Binary Set), tuttavia sono consentite liste e mappe vuote. Valori String e Binary vuoti sono consentiti all'interno di elenchi e mappe. Per ulteriori informazioni, consulta Attributes.

Elenco

Un attributo di tipo elenco può memorizzare una raccolta di valori ordinata. Gli elenchi sono racchiusi tra parentesi quadre: [ ... ]

Un elenco è simile a una matrice JSON. Non ci sono restrizioni sui tipi di dati che possono essere memorizzati in un elemento di elenco e gli elementi di un elemento di elenco non devono essere dello stesso tipo.

L'esempio seguente mostra un elenco che contiene due stringhe e un numero:

FavoriteThings: ["Cookies", "Coffee", 3.14159]
Nota

DynamoDB consente di utilizzare i singoli elementi all'interno di elenchi, anche se tali elementi sono profondamente annidati. Per ulteriori informazioni, consulta Utilizzo di espressioni in DynamoDB.

Eseguire la mappatura

Un attributo di tipo mappa può memorizzare una raccolta di coppie nome-valore non ordinata. Le mappe sono racchiuse tra parentesi graffe: { ... }

Una mappa è simile a un oggetto JSON. Non ci sono restrizioni sui tipi di dati che possono essere memorizzati in un elemento di mappa e gli elementi in una mappa non devono essere dello stesso tipo.

Le mappe sono ideali per la memorizzazione di documenti JSON in DynamoDB. L'esempio seguente mostra una mappa che contiene una stringa, un numero e un elenco annidato che contiene un'altra mappa.

{ Day: "Monday", UnreadEmails: 42, ItemsOnMyDesk: [ "Coffee Cup", "Telephone", { Pens: { Quantity : 3}, Pencils: { Quantity : 2}, Erasers: { Quantity : 1} } ] }
Nota

DynamoDB consente di utilizzare i singoli elementi all'interno di mappe, anche se tali elementi sono profondamente annidati. Per ulteriori informazioni, consulta Utilizzo di espressioni in DynamoDB.

Set

DynamoDB supporta tipi che rappresentano set di valori number, string o binary. Tutti gli elementi di un set devono essere dello stesso tipo. Ad esempio, un attributo di tipo Number Set può contenere solo numeri, String Set può contenere solo stringhe e così via.

Non esiste alcun limite al numero di valori in un set, purché l'elemento contenente i valori rientri nel limite di dimensione dell'elemento di DynamoDB (400 KB).

Ogni valore all'interno di un set deve essere univoco. L'ordine dei valori all'interno di un set non viene mantenuto. Pertanto, le tue applicazioni non devono fare affidamento su nessun ordine di elementi particolare all'interno del set. DynamoDB non supporta set vuoti, tuttavia, all'interno di un set sono consentiti stringhe vuote e valori binari.

L'esempio seguente mostra un set di stringhe, un set di numeri e un set binario:

["Black", "Green", "Red"] [42.2, -19, 7.5, 3.14] ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

Descrittori del tipo di dati

Il protocollo API DynamoDB di basso livello utilizza descrittori del tipo di dati come token che indicano a DynamoDB come interpretare ogni attributo.

Di seguito è riportato un elenco completo dei descrittori del tipo di dati di DynamoDB:

  • S: String

  • N: Number

  • B: binario

  • BOOL: Boolean

  • NULL: null

  • M: Map

  • L: list

  • SS: set string

  • NS: set numerico

  • BS: set binario

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.