"The config profile could not be found": no se pudo encontrar el perfil de configuración
TL;DR: el nombre del perfil que estás usando no existe en los AWS archivos de configuración que tu proceso está leyendo. Tres sospechosos habituales: una variable de entorno AWS_PROFILE obsoleta, un error tipográfico en --profile/profile_name o el perfil definido en el encabezado de sección incorrecto: el archivo ~/.aws/config necesita [profile myprofile], mientras que ~/.aws/credentials usa [myprofile]. Ejecute aws configure list-profiles y compare.
Qué significa
botocore.exceptions.ProfileNotFound: The config profile (myprofile) could not be foundAntes de poder firmar cualquier llamada a DynamoDB, el SDK resuelve un perfil de credenciales. Si un perfil se solicitó explícitamente — mediante AWS_PROFILE, --profile o boto3.Session(profile_name=...) — y no existe ninguna sección con ese nombre en los archivos de configuración/credenciales que se leen, la resolución se detiene con este error. Nada llegó a AWS; es enteramente una búsqueda de configuración local que falla.
Por qué ocurre
AWS_PROFILEapunta a un perfil que no existe — configurado en un archivo rc del shell, una imagen de contenedor o la configuración de CI hace tiempo, y luego el perfil se renombró o eliminó.- Un error tipográfico o de mayúsculas/minúsculas — los nombres de perfil se comparan exactamente.
- Sintaxis de cabecera de sección incorrecta — en
~/.aws/configun perfil con nombre debe declararse como[profile myprofile]; escribir[myprofile]ahí significa que la CLI/SDK no puede encontrarlo (la forma simple corresponde a~/.aws/credentials). - Los archivos no están donde el proceso los busca —
AWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILEsobrescribiendo la ruta, un directorio de inicio diferente bajo sudo/un usuario de servicio, o un contenedor sin el montaje de~/.aws.
Cómo solucionarlo
Lista lo que realmente ve tu entorno:
aws configure list-profiles env | grep -i '^AWS_'Corrige o elimina el puntero —
unset AWS_PROFILE(o configúralo con un perfil listado), corrige la escritura de--profile/profile_name.Revisa las cabeceras de sección:
# ~/.aws/config [profile myprofile] region = eu-west-1 # ~/.aws/credentials [myprofile] aws_access_key_id = ... aws_secret_access_key = ...Crea el perfil si nunca existió —
aws configure --profile myprofile(oaws configure ssopara perfiles de Identity Center).En contenedores/CI, prefiere credenciales de entorno o un rol en lugar de archivos de perfil — o monta/apunta
AWS_CONFIG_FILEa un archivo que realmente defina el perfil.
Míralo en DynoTable
DynoTable lee los mismos archivos ~/.aws/credentials y ~/.aws/config que la CLI — añade perfiles en Settings → Profiles, elige el nombre del perfil en el desplegable y ejecuta Test Connection para confirmar que se resuelve antes de que lo haga tu SDK. El cambio de perfil (⌘P) hace evidente un AWS_PROFILE obsoleto cuando las tablas desaparecen.
Para Local, crea un perfil con el endpoint http://localhost:8000 y credenciales ficticias. Consulta Conectar con AWS e Instalación. Abre tablas con ⌘K una vez conectado y luego lanza una consulta de prueba en el Query Builder.
Fuentes
- Configuration and credential file settings in the AWS CLI (verificado 2026-07-13)
- Configuring environment variables for the AWS CLI (verificado 2026-07-13)
Reproducirlo
Apunta boto3 a un perfil que no esté en tu configuración, con el entorno de AWS limpio para que nada más satisfaga la búsqueda:
import boto3
boto3.Session(profile_name='no-such-profile-xyz').client('dynamodb').list_tables()Salida real:
ProfileNotFound: The config profile (no-such-profile-xyz) could not be foundLo lanza botocore en el cliente, antes de que ninguna petición llegue a AWS — por eso no hay estado HTTP y por eso reintentar no puede ayudar. El nombre entre paréntesis es el perfil que buscó, así que te dice si la errata está en tu código o en tu archivo de configuración.
Errores relacionados
- No se pueden localizar las credenciales: no se encontraron credenciales (no hay ningún perfil explícito involucrado).
- No se pudieron cargar las credenciales de ningún proveedor: el tipo JS-SDK de la misma falla de cadena.
- SSO la sesión expiró: el perfil existe pero su SSO inicio de sesión caducó.
- Aprende: DynamoDB Local y LocalStack configuración
Referencias
- Configuración y ajustes del archivo de credenciales en AWS CLI — AWS CLI Guía del usuario
- Configuración de variables de entorno para AWS CLI — AWS CLI Guía del usuario (AWS_PROFILE, AWS_CONFIG_FILE, AWS_SHARED_CREDENTIALS_FILE)
- Configuración de la autenticación del Centro de identidad IAM con AWS CLI — AWS CLI Guía del usuario (aws configurar sso)
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.
Reproducido el 2026-07-26 contra boto3 1.43.56 / botocore 1.43.56 — la salida de arriba es literal.