The config profile could not be found

En bref — Le nom de profil que tu utilises n'existe pas dans les fichiers de config AWS que ton processus lit. Trois suspects habituels : une variable d'environnement AWS_PROFILE obsolète, une faute de frappe dans --profile/profile_name, ou le profil défini sous le mauvais en-tête de section — le fichier ~/.aws/config a besoin de [profile myprofile], tandis que ~/.aws/credentials utilise simplement [myprofile]. Lance aws configure list-profiles et compare.

Ce que ça signifie

botocore.exceptions.ProfileNotFound: The config profile (myprofile) could not be found

Avant qu'un appel DynamoDB puisse être signé, le SDK résout un profil d'identifiants. Si un profil a été explicitement demandé — via AWS_PROFILE, --profile ou boto3.Session(profile_name=...) — et qu'aucune section portant ce nom n'existe dans les fichiers config/credentials lus, la résolution s'arrête avec cette erreur. Rien n'a atteint AWS ; c'est entièrement une recherche de configuration locale qui échoue.

Pourquoi ça arrive

  • AWS_PROFILE pointe vers un profil qui n'existe pas — défini dans un fichier rc du shell, une image de conteneur ou une config CI il y a longtemps, puis le profil a été renommé ou supprimé.
  • Une faute de frappe ou une casse différente — les noms de profil sont comparés exactement.
  • Mauvaise syntaxe d'en-tête de section — dans ~/.aws/config, un profil nommé doit être déclaré comme [profile myprofile] ; écrire [myprofile] là-bas signifie que la CLI/le SDK ne peut pas le trouver (la forme simple appartient à ~/.aws/credentials).
  • Les fichiers ne sont pas là où le processus regardeAWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE surchargeant le chemin, un répertoire personnel différent sous sudo/un utilisateur de service, ou un conteneur sans le montage ~/.aws.

Comment le corriger

  1. Liste ce qui est réellement visible pour ton environnement :

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. Corrige ou supprime le pointeurunset AWS_PROFILE (ou définis-le sur un profil listé), corrige l'orthographe de --profile/profile_name.

  3. Vérifie les en-têtes de section :

    # ~/.aws/config
    [profile myprofile]
    region = eu-west-1
    
    # ~/.aws/credentials
    [myprofile]
    aws_access_key_id = ...
    aws_secret_access_key = ...
  4. Crée le profil s'il n'a jamais existéaws configure --profile myprofile (ou aws configure sso pour les profils Identity Center).

  5. Dans les conteneurs/CI, préfère les identifiants d'environnement ou un rôle plutôt que les fichiers de profil — ou monte/pointe AWS_CONFIG_FILE vers un fichier qui définit réellement le profil.

Une fois le profil résolu, vérifie qu'il peut réellement atteindre tes tables — DynoTable utilise tes profils AWS pour se connecter, et son sélecteur de profils rend visible « quel profil voit quelles tables ».

Vois-le dans DynoTable

DynoTable lit les mêmes fichiers ~/.aws/credentials et ~/.aws/config que la CLI — ajoute tes profils sous Settings → Profiles, choisis le nom du profil dans la liste déroulante et lance Test Connection pour confirmer qu'il se résout avant que ton SDK ne le fasse. Le changement de profil (⌘P) rend un AWS_PROFILE obsolète évident dès que les tables disparaissent.

Pour Local, crée un profil avec l'endpoint http://localhost:8000 et des identifiants factices. Vois Se connecter à AWS et Installation. Ouvre les tables avec ⌘K une fois connecté, puis lance une requête de vérification dans le Query Builder.

Sources

Reproduire l'erreur

Pointe boto3 vers un profil absent de ta config, avec l'environnement AWS vidé pour que rien d'autre ne satisfasse la résolution :

import boto3
boto3.Session(profile_name='no-such-profile-xyz').client('dynamodb').list_tables()

Sortie réelle :

ProfileNotFound: The config profile (no-such-profile-xyz) could not be found

C'est botocore, côté client, qui la lève, avant qu'aucune requête n'atteigne AWS — d'où l'absence de statut HTTP et l'inutilité d'un réessai. Le nom entre parenthèses est le profil qu'il a cherché : il te dit donc si la faute de frappe est dans ton code ou dans ton fichier de config.

Erreurs liées

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Reproduit le 2026-07-26 avec boto3 1.43.56 / botocore 1.43.56 — la sortie ci-dessus est reproduite telle quelle.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.