The config profile could not be found

TL;DR — Der von dir verwendete Profilname existiert nicht in den AWS-Konfigurationsdateien, die dein Prozess liest. Drei übliche Verdächtige: eine veraltete AWS_PROFILE-Umgebungsvariable, ein Tippfehler in --profile/profile_name, oder das Profil unter dem falschen Abschnitts-Header definiert — die Datei ~/.aws/config braucht [profile myprofile], während ~/.aws/credentials das schlichte [myprofile] verwendet. Führe aws configure list-profiles aus und vergleiche.

Was es bedeutet

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

Bevor ein DynamoDB-Aufruf signiert werden kann, löst das SDK ein Credentials-Profil auf. Wenn ein Profil explizit angefordert wurde — über AWS_PROFILE, --profile oder boto3.Session(profile_name=...) — und kein Abschnitt mit diesem Namen in den gelesenen Konfigurations-/Credentials-Dateien existiert, stoppt die Auflösung mit diesem Fehler. Nichts hat AWS erreicht; es ist rein ein lokal fehlschlagender Konfigurations-Lookup.

Warum es passiert

  • AWS_PROFILE zeigt auf ein Profil, das nicht existiert — vor langer Zeit in einer Shell-rc-Datei, einem Container-Image oder in der CI-Konfiguration gesetzt, dann wurde das Profil umbenannt oder entfernt.
  • Ein Tippfehler oder eine Groß-/Kleinschreibungs-Abweichung — Profilnamen werden exakt abgeglichen.
  • Falsche Abschnitts-Header-Syntax — in ~/.aws/config muss ein benanntes Profil als [profile myprofile] deklariert werden; schreibst du dort [myprofile], kann die CLI/das SDK es nicht finden (die schlichte Form gehört in ~/.aws/credentials).
  • Die Dateien liegen nicht dort, wo der Prozess suchtAWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE überschreiben den Pfad, ein anderes Home-Verzeichnis unter sudo/einem Service-User oder ein Container ohne den ~/.aws-Mount.

So behebst du es

  1. Liste auf, was für deine Umgebung tatsächlich sichtbar ist:

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. Korrigiere oder entferne den Zeigerunset AWS_PROFILE (oder setze es auf ein gelistetes Profil), korrigiere die Schreibweise von --profile/profile_name.

  3. Prüfe die Abschnitts-Header:

    # ~/.aws/config
    [profile myprofile]
    region = eu-west-1
    
    # ~/.aws/credentials
    [myprofile]
    aws_access_key_id = ...
    aws_secret_access_key = ...
  4. Lege das Profil an, falls es nie existierteaws configure --profile myprofile (oder aws configure sso für Identity-Center-Profile).

  5. In Containern/CI bevorzuge Umgebungs-Credentials oder eine Rolle statt Profildateien — oder mounte/verweise AWS_CONFIG_FILE auf eine Datei, die das Profil wirklich definiert.

Sobald das Profil aufgelöst wird, prüfe, ob es deine Tabellen tatsächlich erreichen kann — die DynoTable-Desktop-App nutzt deine AWS-Profile zum Verbinden und macht sichtbar, „welches Profil welche Tabellen sieht", und der DynamoDB-Preisrechner hilft, die Kosten des Workloads dieses Accounts zu planen.

Verwandte Fehler

References

Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.

Mit DynamoDB ohne die Console arbeiten

DynoTable ist ein schneller Desktop-Client für DynamoDB — durchsuche Tabellen, führe SQL-artige Queries aus und bearbeite Items lokal.