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 config

Ogni 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_REGION nell'ambiente (l'SDK JavaScript legge AWS_REGION; la AWS CLI rispetta anche AWS_DEFAULT_REGION e --region).
  • Una regione in ~/.aws/config che l'SDK non legge mai — JavaScript SDK v2 carica solo il file di configurazione condiviso quando è impostata la variabile di ambiente AWS_SDK_LOAD_CONFIG; senza di essa, una riga region = perfettamente valida viene ignorata.
  • Un errore di battitura nel nome env var (AWS_REGIONS, REGION).

Come risolverlo (uno qualsiasi di questi)

  1. Impostalo sul client (più esplicito):
    import {DynamoDBClient} from '@aws-sdk/client-dynamodb';
    const client = new DynamoDBClient({region: 'us-east-1'});
  2. Variabile d'ambiente:
    export AWS_REGION=us-east-1
  3. AWS file di configurazione (~/.aws/config):
    [default]
    region = us-east-1
    Sull'SDK JavaScript v2, imposta anche AWS_SDK_LOAD_CONFIG=1 in modo che l'SDK legga effettivamente questo file (la CLI e la maggior parte degli altri SDK lo leggono per impostazione predefinita).
  4. 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

Errori correlati

Riferimenti

Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.