ConfigError: Missing region in config
En bref — Le SDK AWS ne sait pas à quelle région parler. Définis-la explicitement sur le client (new DynamoDBClient({ region: 'us-east-1' })), ou via la variable d'environnement AWS_REGION, ou dans ~/.aws/config.
Ce que ça signifie
ConfigError: Missing region in configChaque endpoint DynamoDB est régional, donc le SDK doit résoudre une région avant de pouvoir envoyer une requête. Cette formulation exacte vient du SDK AWS pour JavaScript v2 (désormais en fin de support), qui ne sélectionne pas de région par défaut — lorsqu'aucune de ses sources de configuration n'en fournit une, il lève cette erreur avant tout appel réseau. Les autres SDK et l'AWS CLI échouent avec leur propre équivalent lorsqu'aucune région n'est configurée.
Pourquoi ça arrive
- Aucune région passée au client et pas de
AWS_REGIONdans l'environnement (le SDK JavaScript litAWS_REGION; l'AWS CLI honore aussiAWS_DEFAULT_REGIONet--region). - Une région dans
~/.aws/configque le SDK ne lit jamais — le SDK JavaScript v2 ne charge le fichier de configuration partagé que si la variable d'environnementAWS_SDK_LOAD_CONFIGest définie ; sans elle, une ligneregion =parfaitement valide est ignorée. - Une faute de frappe dans le nom de la variable d'environnement (
AWS_REGIONS,REGION).
Comment le corriger (l'une de ces options)
- Définis-la sur le client (le plus explicite) :
import {DynamoDBClient} from '@aws-sdk/client-dynamodb'; const client = new DynamoDBClient({region: 'us-east-1'}); - Variable d'environnement :
export AWS_REGION=us-east-1 - Fichier de configuration AWS (
~/.aws/config) :Sur le SDK JavaScript v2, définis aussi[default] region = us-east-1AWS_SDK_LOAD_CONFIG=1pour que le SDK lise réellement ce fichier (l'AWS CLI et la plupart des autres SDK le lisent par défaut). - DynamoDB Local ? Il a quand même besoin d'une chaîne de région (n'importe quelle valeur — elle ne sert qu'à nommer le fichier de base de données local) plus un
endpoint:const client = new DynamoDBClient({region: 'local', endpoint: 'http://localhost:8000'});
Pointe DynoTable vers Local
DynoTable stocke la région sur chaque profil AWS — Settings → Profiles → Add Profile, puis choisis la région dans la liste déroulante avant d'enregistrer. La pastille de profil en bas de la barre latérale affiche la région active ; appuie sur ⌘P pour en changer. Test Connection échoue tout de suite quand la région est vide ou que le fichier de config partagé est ignoré par un SDK qui a besoin d'AWS_SDK_LOAD_CONFIG.
Pour Local, sers-toi de Download Local (ou pointe l'endpoint du profil sur http://localhost:8000) et mets n'importe quelle chaîne de région — DynoTable garde endpoint et région sur le même profil, ils ne peuvent donc pas diverger. Une fois connecté, ouvre une table avec ⌘K et confirme que la requête part vers la région attendue. Le query builder visuel est pratique pour prouver la région du profil avant de coller les mêmes réglages dans du code applicatif.
Quand tu débogues les différences de résolution de région entre SDK v2 et v3, compare côte à côte les réglages de profil qu'utilise DynoTable et les variables d'environnement de ton application. Le staging (⌘S) te laisse tester une écriture sur le profil configuré avant que ton job par lots ne tourne.
Sources
- Setting the AWS Region — AWS SDK for JavaScript v2 (vérifié le 2026-07-13)
- Troubleshooting errors for the AWS CLI (vérifié le 2026-07-13)
Erreurs liées
- The security token is invalid
- ResourceNotFoundException — souvent une région qui ne correspond pas une fois qu'une région est définie.
- Unable to start DynamoDB Local process
- Apprends : Se connecter à DynamoDB Local et LocalStack
Références
- Setting the AWS Region — AWS SDK for JavaScript v2 Developer Guide
- Troubleshooting errors for the AWS CLI — AWS CLI User Guide
- DynamoDB local usage notes — Amazon DynamoDB Developer Guide
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.