"The config profile could not be found": impossibile trovare il profilo di configurazione

TL;DR — Il nome del profilo che stai utilizzando non esiste nei file di configurazione AWS che il tuo processo sta leggendo. Tre soliti sospetti: una variabile di ambiente AWS_PROFILE obsoleta, un errore di battitura in --profile/profile_name o il profilo definito nell'intestazione di sezione sbagliata: il file ~/.aws/config necessita di [profile myprofile], mentre ~/.aws/credentials utilizza il semplice [myprofile]. Esegui aws configure list-profiles e confronta.

Cosa significa

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

Prima che qualsiasi chiamata DynamoDB possa essere firmata, l'SDK risolve un profilo di credenziali. Se un profilo è stato richiesto esplicitamente — tramite AWS_PROFILE, --profile o boto3.Session(profile_name=...) — e non esiste alcuna sezione con quel nome nei file di configurazione/credenziali letti, la risoluzione si interrompe con questo errore. Non è stato raggiunto nulla AWS; si tratta interamente di una ricerca di configurazione locale non riuscita.

Perché succede

  • AWS_PROFILE punta a un profilo che non esiste: impostato in un file rc della shell, un'immagine del contenitore o una configurazione CI molto tempo fa, quindi il profilo è stato rinominato o rimosso.
  • Un errore di battitura o una mancata corrispondenza del caso: i nomi dei profili corrispondono esattamente.
  • Sintassi errata dell'intestazione della sezione — in ~/.aws/config un profilo denominato deve essere dichiarato come [profile mioprofilo]; scrivere "[myprofile]" significa che la CLI/SDK non riesce a trovarlo (il formato semplice appartiene a "~/.aws/credentials").
  • I file non si trovano dove appare il processoAWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE che sovrascrive il percorso, una directory home diversa in sudo/a utente del servizio o un contenitore senza il montaggio ~/.aws.

Come risolverlo

  1. Elenca ciò che è effettivamente visibile nel tuo ambiente:

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. Correggi o annulla l'impostazione del puntatoreunset AWS_PROFILE (o impostalo su un profilo elencato), correggi l'ortografia --profile/profile_name.

  3. Controlla le intestazioni delle sezioni:

    # ~/.aws/config
    [profile myprofile]
    region = eu-west-1
    
    # ~/.aws/credentials
    [myprofile]
    aws_access_key_id = ...
    aws_secret_access_key = ...
  4. Crea il profilo se non è mai esistitoaws configure --profile myprofile (o aws configure sso per i profili Identity Center).

  5. In contenitori/CI, preferisci le credenziali dell'ambiente o un ruolo rispetto ai file di profilo oppure monta/punta AWS_CONFIG_FILE su un file che definisce effettivamente il profilo.

Vedilo in DynoTable

DynoTable legge gli stessi file ~/.aws/credentials e ~/.aws/config della CLI: aggiungi profili in Impostazioni → Profili, scegli il nome del profilo dal menu a discesa ed esegui Test connessione per verificare che si risolva prima che lo faccia l'SDK. Il cambio di profilo (⌘P) rende evidente un AWS_PROFILE obsoleto quando le tabelle scompaiono.

Per Locale, crea un profilo con endpoint "http://localhost:8000" e credenziali fittizie. Consulta Connetti a AWS e Installa. Apri le tabelle con ⌘K una volta connesse, quindi esegui una query di prova del fumo nel Builder di query.

Fonti

Riproducilo

Punta boto3 su un profilo che non è nella tua configurazione, con l'ambiente AWS cancellato in modo che nient'altro soddisfi la ricerca:

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

Produzione reale:

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

Questo viene generato da botocore sul client, prima che qualsiasi richiesta raggiunga AWS, motivo per cui non esiste uno stato HTTP e perché riprovare non può essere d'aiuto. Il nome tra parentesi è il profilo cercato, quindi ti dice se l'errore di battitura è nel tuo codice o nel tuo file di configurazione.

Errori correlati

Riferimenti

Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale AWS collegata sopra.

Riprodotto il 26-07-2026 rispetto a boto3 1.43.56 / botocore 1.43.56 — l'output sopra è letterale.

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.