ConfigError: falta región en la configuración
TL;DR: El AWS SDK no sabe con qué región hablar. Configúrelo explícitamente en client (new DynamoDBClient({ region: 'us-east-1' })), o mediante la variable de entorno AWS_REGION, o en ~/.aws/config.
Qué significa
ConfigError: Missing region in configCada endpoint de DynamoDB es regional, así que el SDK debe resolver una región antes de poder enviar una solicitud. Esta redacción exacta viene del AWS SDK para JavaScript v2 (ahora sin soporte), que no selecciona una región por defecto — cuando ninguna de sus fuentes de configuración proporciona una, lanza esto antes de cualquier llamada de red. Otros SDK y la AWS CLI fallan con su propio equivalente cuando no hay ninguna región configurada.
Por qué ocurre
- No se pasó ninguna región al cliente y no hay
AWS_REGIONen el entorno (el SDK de JavaScript leeAWS_REGION; la AWS CLI también respetaAWS_DEFAULT_REGIONy--region). - Una región en
~/.aws/configque el SDK nunca lee — el SDK de JavaScript v2 solo carga el archivo de configuración compartido cuando la variable de entornoAWS_SDK_LOAD_CONFIGestá establecida; sin ella, una línearegion =perfectamente correcta se ignora. - Una errata en el nombre de la variable de entorno (
AWS_REGIONS,REGION).
Cómo solucionarlo (cualquiera de estas)
- Configúrala en el cliente (lo más explícito):
import {DynamoDBClient} from '@aws-sdk/client-dynamodb'; const client = new DynamoDBClient({region: 'us-east-1'}); - Variable de entorno:
export AWS_REGION=us-east-1 - Archivo de configuración de AWS (
~/.aws/config):En el SDK de JavaScript v2, establece también[default] region = us-east-1AWS_SDK_LOAD_CONFIG=1para que el SDK realmente lea este archivo (la CLI y la mayoría de los demás SDK lo leen por defecto). - ¿DynamoDB Local? Aun así necesita una cadena de región (cualquier valor — solo se usa para nombrar el archivo de base de datos local) más un
endpoint:const client = new DynamoDBClient({region: 'local', endpoint: 'http://localhost:8000'});
Apunta DynoTable a Local
DynoTable guarda la región en cada perfil de AWS — Settings → Profiles → Add Profile, y elige la región en el desplegable antes de guardar. El chip de perfil al pie de la barra lateral muestra la región activa; pulsa ⌘P para cambiar. Test Connection falla rápido cuando la región está vacía o cuando un SDK que necesita AWS_SDK_LOAD_CONFIG ignora el archivo de configuración compartido.
Para Local, usa Download Local (o apunta el endpoint del perfil a http://localhost:8000) y pon cualquier cadena de región — DynoTable mantiene endpoint y región en el mismo perfil, así que no pueden desincronizarse. Una vez conectado, abre una tabla con ⌘K y confirma que la petición va a la región que esperas. El query builder visual sirve para demostrar la región del perfil antes de que pegues esos mismos ajustes en el código de tu aplicación.
Cuando depures las diferencias de resolución de región entre el SDK v2 y el v3, compara lado a lado los ajustes de perfil que usa DynoTable con las variables de entorno de tu aplicación. El staging (⌘S) te deja probar una escritura contra el perfil configurado antes de que se ejecute tu trabajo por lotes.
Fuentes
- Setting the AWS Region — AWS SDK for JavaScript v2 (verificado 2026-07-13)
- Troubleshooting errors for the AWS CLI (verificado 2026-07-13)
Errores relacionados
- El token de seguridad no es válido
- ResourceNotFoundException — a menudo un desajuste de región una vez que sí hay una región configurada.
- No se puede iniciar el proceso de DynamoDB Local
- Aprende: Connect to DynamoDB Local & LocalStack
Referencias
- 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
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.