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 config

Cada 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_REGION en el entorno (el SDK de JavaScript lee AWS_REGION; la AWS CLI también respeta AWS_DEFAULT_REGION y --region).
  • Una región en ~/.aws/config que el SDK nunca lee — el SDK de JavaScript v2 solo carga el archivo de configuración compartido cuando la variable de entorno AWS_SDK_LOAD_CONFIG está establecida; sin ella, una línea region = perfectamente correcta se ignora.
  • Una errata en el nombre de la variable de entorno (AWS_REGIONS, REGION).

Cómo solucionarlo (cualquiera de estas)

  1. 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'});
  2. Variable de entorno:
    export AWS_REGION=us-east-1
  3. Archivo de configuración de AWS (~/.aws/config):
    [default]
    region = us-east-1
    En el SDK de JavaScript v2, establece también AWS_SDK_LOAD_CONFIG=1 para que el SDK realmente lea este archivo (la CLI y la mayoría de los demás SDK lo leen por defecto).
  4. ¿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

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.