"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 found

Antes 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_PROFILE apunta 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/config un 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 buscaAWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE sobrescribiendo la ruta, un directorio de inicio diferente bajo sudo/un usuario de servicio, o un contenedor sin el montaje de ~/.aws.

Cómo solucionarlo

  1. Lista lo que realmente ve tu entorno:

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. Corrige o elimina el punterounset AWS_PROFILE (o configúralo con un perfil listado), corrige la escritura de --profile/profile_name.

  3. 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 = ...
  4. Crea el perfil si nunca existióaws configure --profile myprofile (o aws configure sso para perfiles de Identity Center).

  5. En contenedores/CI, prefiere credenciales de entorno o un rol en lugar de archivos de perfil — o monta/apunta AWS_CONFIG_FILE a 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

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 found

Lo 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

Referencias

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.

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.