La credencial debe tener como ámbito una región válida

TL;DR: Signature Version 4 integra una región en el alcance de la credencial de cada solicitud. Este error significa que la región en ese alcance no coincide con la región del endpoint que realmente accedió: firmó para una región y envió la solicitud a otra (o utilizó un código de región no válido). Haga que la región configurada del client coincida con la endpoint a la que llama.

Qué significa

InvalidSignatureException: Credential should be scoped to a valid region, not 'us-west-1'.

Cada solicitud firmada de AWS lleva un ámbito de credencial — una cadena YYYYMMDD/region/service/aws4_request sobre la que se calcula la firma (los códigos de región y de servicio deben ir en minúsculas). AWS vuelve a derivar la firma esperada a partir del endpoint que recibió la solicitud. Si la región incrustada en tu ámbito no es la región que sirve la solicitud, la verificación falla con este mensaje. Es un HTTP 400, del lado del cliente, y no se puede reintentar hasta corregir la región.

Por qué ocurre

  • Firmaste para una región, enviaste a otra — la region configurada del SDK difiere de un endpoint hardcodeado o sobrescrito que apunta a una región distinta.
  • Un endpoint personalizado sin región coincidente — pusiste endpoint: https://dynamodb.eu-west-2.amazonaws.com pero dejaste la región del cliente en eu-west-1.
  • Una cadena de región inválida o vacía — un typo o una variable de entorno sin definir producen un ámbito que AWS no puede aceptar como válido.
  • Un proxy o gateway que reenvía la solicitud a un endpoint regional distinto de aquel para el que se firmó.

Cómo solucionarlo

  1. Haz coincidir la región del cliente con el endpoint. Si apuntas a dynamodb.<region>.amazonaws.com, pon la region del cliente en ese mismo <region>.
  2. Prefiere definir solo la región y deja que el SDK construya el endpoint — elimina las sobrescrituras manuales de endpoint a menos que de verdad necesites una (p. ej. DynamoDB Local).
  3. Verifica que el código de región sea válido (us-east-1, eu-west-2, …) y que esté realmente definido — comprueba AWS_REGION/AWS_DEFAULT_REGION y cualquier archivo de configuración.
  4. Para configuraciones de rol asumido o entre regiones, confirma que la solicitud se firma con la región a la que pretendes enviarla, no con una por defecto heredada de otro sitio.

Para DynamoDB Local, apunta el endpoint a http://localhost:8000 y dale al cliente cualquier región consistente — la región solo tiene que coincidir con aquella con la que el cliente firma.

Revisa primero en DynoTable

DynoTable firma cada solicitud con la región guardada en el perfil activo. Settings → Profiles muestra la región y el endpoint personalizado opcional en un mismo formulario — cámbialos a la vez y luego pulsa Test Connection. Eso elimina el fallo clásico del SDK en el que endpoint apunta a eu-west-2 mientras region se queda en eu-west-1.

Pulsa ⌘P para confirmar qué perfil (y por tanto qué ámbito de credencial) está activo antes de depurar el código de la aplicación. Para Local, mantén el endpoint http://localhost:8000 y una región coincidente en el mismo perfil. Cuando el perfil conecte, usa el query builder para comprobar que las lecturas funcionan con ese ámbito.

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.