ConfigError: regione mancante nella configurazione
TL;DR — L'AWS SDK non sa con quale regione parlare. Impostalo esplicitamente sul client (new DynamoDBClient({region: 'us-east-1' })), o tramite la variabile di ambiente AWS_REGION o in ~/.aws/config.
Cosa significa
ConfigError: Missing region in configOgni DynamoDB endpoint è regionale, quindi l'SDK deve risolvere una regione prima di poter inviare una richiesta. Questa dicitura esatta deriva dall'AWS SDK per JavaScript v2 (ora terminato il supporto), che non seleziona una regione per impostazione predefinita: quando nessuna delle sue fonti di configurazione ne fornisce una, la lancia prima di qualsiasi chiamata di rete. Altri SDK e la AWS CLI falliscono con i loro equivalenti quando non è configurata alcuna regione.
Perché succede
- Nessuna regione passata al client e nessuna
AWS_REGIONnell'ambiente (l'SDK JavaScript leggeAWS_REGION; la AWS CLI rispetta ancheAWS_DEFAULT_REGIONe--region). - Una regione in
~/.aws/configche l'SDK non legge mai — JavaScript SDK v2 carica solo il file di configurazione condiviso quando è impostata la variabile di ambienteAWS_SDK_LOAD_CONFIG; senza di essa, una rigaregion =perfettamente valida viene ignorata. - Un errore di battitura nel nome env var (
AWS_REGIONS,REGION).
Come risolverlo (uno qualsiasi di questi)
- Impostalo sul client (più esplicito):
import {DynamoDBClient} from '@aws-sdk/client-dynamodb'; const client = new DynamoDBClient({region: 'us-east-1'}); - Variabile d'ambiente:
export AWS_REGION=us-east-1 - AWS file di configurazione (
~/.aws/config):Sull'SDK JavaScript v2, imposta anche[default] region = us-east-1AWS_SDK_LOAD_CONFIG=1in modo che l'SDK legga effettivamente questo file (la CLI e la maggior parte degli altri SDK lo leggono per impostazione predefinita). - DynamoDB Locale? Richiede ancora a stringa della regione (qualsiasi valore: viene utilizzata solo per denominare il file del database locale) più un
endpoint:const client = new DynamoDBClient({region: 'local', endpoint: 'http://localhost:8000'});
Punta DynoTable a Local
DynoTable memorizza la regione su ciascun AWS profilo — Impostazioni → Profili → Aggiungi profilo, quindi seleziona la regione dal menu a discesa prima di salvare. Il chip del profilo nella parte inferiore della barra laterale mostra la regione attiva; premere ⌘P per cambiare. La connessione di prova fallisce rapidamente quando la regione è vuota o il file di configurazione condiviso viene ignorato da un SDK che necessita di "AWS_SDK_LOAD_CONFIG".
Per Locale, utilizza Scarica locale (o punta l'endpoint del profilo su http://localhost:8000) e imposta qualsiasi stringa della regione — DynoTable mantiene endpoint e regione sullo stesso profilo in modo che non possano andare alla deriva. Una volta connesso, apri una tabella con ⌘K e conferma che la richiesta va alla regione che ti aspetti. L'oggetto visivo query builder è utile per dimostrare l'area del profilo prima di incollare le stesse impostazioni nel codice dell'applicazione.
Quando esegui il debug delle differenze di risoluzione della regione SDK v2 e v3, confronta le impostazioni del profilo che DynoTable utilizza con le variabili env della tua applicazione fianco a fianco. La gestione temporanea (⌘S) consente di testare una scrittura rispetto al profilo configurato prima dell'esecuzione del processo batch.
Fonti
- Impostazione della regione AWS - AWS SDK per JavaScript v2 (verificato il 13-07-2026)
- Errori di risoluzione dei problemi per la AWS CLI (verificato il 13-07-2026)
Errori correlati
- Il token di sicurezza non è valido
- ResourceNotFoundException — spesso una regione non corrisponde una volta che la regione è impostata.
- Impossibile avviare DynamoDB Processo locale
- Impara: Connetti a DynamoDB Locale e LocalStack
Riferimenti
- Impostazione della regione AWS - Guida per sviluppatori AWS SDK per JavaScript v2
- Risoluzione degli errori per la AWS CLI - Guida per l'utente della AWS CLI
- DynamoDB note sull'utilizzo locale - Guida per gli sviluppatori di Amazon DynamoDB
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.