Strumento gratuito

Verificatore delle parole riservate di DynamoDB

Incolla i nomi dei tuoi attributi per vedere quali entrano in conflitto con le parole riservate di DynamoDB e copia una mappa ExpressionAttributeNames che li alias in sicurezza.

Nomi degli attributi

Inserisci un nome di attributo per riga (funzionano anche virgole e spazi). Ciascuno viene verificato, senza distinzione tra maiuscole e minuscole, rispetto all'elenco completo delle parole riservate di DynamoDB.

4 di 6 nomi sono riservati e devono ricevere un alias.
  • name#nameRiservato
  • status#statusRiservato
  • timestamp#timestampRiservato
  • userIdOK
  • count#countRiservato
  • emailOK
ExpressionAttributeNames
{
  "#name": "name",
  "#status": "status",
  "#timestamp": "timestamp",
  "#count": "count"
}

Fai riferimento a ogni nome riservato tramite il suo alias # nella tua espressione e passa questa mappa come ExpressionAttributeNames.

Perché le parole riservate sono importanti

DynamoDB mantiene un lungo elenco di parole chiave riservate che non accetterà come nome di attributo semplice all'interno di un'espressione. Nomi di uso quotidiano — name, status, size, count, timestamp, year — vi figurano. Fai riferimento a uno direttamente e la richiesta fallisce con una ValidationException, di solito in fase di esecuzione anziché in fase di revisione.

La soluzione è un expression attribute name: un placeholder # che sostituisce il nome reale, abbinato a una mappa ExpressionAttributeNames. Questo verificatore confronta i tuoi nomi con l'elenco completo senza distinzione tra maiuscole e minuscole e costruisce automaticamente quella mappa per quelli riservati, così puoi incollarla direttamente in una richiesta GetItem, Query, Update o Delete.

Dare un alias è una piccola abitudine che evita un'intera categoria di errori — expression attribute names e values spiega i placeholder in profondità, e il Expression Builder dà un alias a ogni nome al posto tuo mentre costruisci.

Domande frequenti

Cosa sono le parole riservate di DynamoDB?

DynamoDB riserva un lungo elenco di parole chiave — circa 573 — che non possono essere usate direttamente come nomi di attributo all'interno di un'espressione. Nomi come name, status, timestamp, size e count sono tutti riservati. Se ne fai riferimento direttamente in un'espressione di proiezione, filtro, condizione o aggiornamento, DynamoDB restituisce una ValidationException con il messaggio «Attribute name is a reserved keyword».

Come uso una parola riservata come nome di attributo?

Dagli un alias con un expression attribute name — un placeholder che inizia con # e mappa al nome reale. Ad esempio, fai riferimento a #name nella tua espressione e passa ExpressionAttributeNames di { "#name": "name" }. Questo strumento genera quella mappa per ogni nome riservato che inserisci, pronta da incollare nella tua richiesta.

L'elenco delle parole riservate distingue tra maiuscole e minuscole?

No. L'elenco delle parole riservate di DynamoDB non distingue tra maiuscole e minuscole, quindi Name, name e NAME sono tutti trattati come la parola riservata NAME. Questo controllo confronta senza distinzione tra maiuscole e minuscole, esattamente come DynamoDB.

Devo dare un alias a ogni nome di attributo?

Solo quelli riservati richiedono un alias, ma molti team danno un alias a ogni nome per abitudine così non incontrano mai l'errore e le espressioni si leggono in modo coerente. Dare un alias a un nome non riservato è sempre sicuro. Questo strumento segnala esattamente quali dei tuoi nomi sono riservati così puoi decidere.

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.