AWS: Das Konfigurationsprofil (MyName) wurde nicht gefunden

75

Jedes Mal, wenn ich etwas mit AWS konfigurieren möchte, wird folgende Fehlermeldung angezeigt:

"The config profile (myname) could not be found"

wie: aws konfigurieren

Ich verwende Python 3.4 und möchte AWS CLI Keyring verwenden, um meine Anmeldeinformationen zu verschlüsseln.

Steve Ritz
quelle

Antworten:

108

Ich denke, in der AWS-Dokumentation unter http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html fehlt etwas. Es wurde nicht erwähnt, dass Sie die Datei bearbeiten sollten, ~/.aws/configum Ihr Benutzernamenprofil hinzuzufügen . Es gibt zwei Möglichkeiten , dies zu tun:

  1. bearbeiten ~/.aws/config oder

  2. aws configure --profile "your username"

Stanley Yong
quelle
Die obigen anderen Antworten sind nützlich, aber ich denke, Sie heben etwas Wichtiges hervor: Wenn Sie die Protokolle aws configure --profile im Befehlszeilenprogramm aws configure durchgehen, wird die Datei .aws / configure automatisch aktualisiert, was einfacher ist. Zuerst habe ich versucht, es in VIM zu bearbeiten und konnte es nicht richtig machen.
Ouonomos
Außerdem: Ich denke, Sie müssen dafür sorgen, dass die Standardregion für Lambda und IAM identisch ist, damit dies funktioniert. Die Regionsnamen
Ouonomos
1
Mein Build ist auch ohne die Ausgabe = json oder den angegebenen Text fehlgeschlagen.
Brianfit
2
Können Sie erklären, wie Sie mit ein neues Profil erstellenaws configure ? Es scheint, dass Sie das Profil manuell booten müssen. Vielen Dank.
Étienne Bersac
Ich habe mein Problem gelöst, indem ich sowohl ~ / .aws / config als auch ~ / .aws / credentials bearbeitet habe
Berk
25

Dieses Problem trat auf, als ich auf einen neuen Computer umzog und meine Umgebungsvariable AWS_DEFAULT_PROFILE mit mir trug, jedoch nicht mein Verzeichnis ~ / .aws. Ich konnte keine awscli-Befehle zum Laufen bringen, bis ich diese Variable deaktiviert oder das benannte Profil richtig konfiguriert hatte. Aber selbst der aws configureBefehl war gebrochen, was die Dinge etwas schwierig machte. Angenommen, Sie haben eine Unix-ähnliche Shell zur Hand:

  • So bestimmen Sie, welche AWS-spezifischen Variablen möglicherweise in Ihrer Sitzung enthalten sind: env | grep AWS_
    • Wenn AWS_DEFAULT_PROFILE hier nicht aufgeführt ist, gilt diese Antwort nicht für Sie.
  • So entfernen Sie das Standardprofil vorübergehend: unset AWS_DEFAULT_PROFILE
  • So konfigurieren Sie dieses Standardprofil: aws --profile foo configure
  • So setzen Sie die Standardprofilvariable zurück: exec $SHELL
  • So testen Sie Ihr neues Setup: aws iam get-user
billkw
quelle
7
Gleiches Problem mit der AWS_PROFILEenv var. Führen Sie unset AWS_PROFILEdann die Befehle aws configure * aus.
VFein
Ich habe versehentlich meinen .aws-Ordner gelöscht. Ihr Führer hat mir geholfen.
Vala. D.
6

Das Arbeiten mit Profilen ist wenig schwierig. Die Dokumentation finden Sie unter: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html (Sie müssen jedoch auf env-Variablen wie AWS_PROFILE achten.)

Für die Verwendung eines Profils mit aws cli ist eine Konfigurationsdatei erforderlich (Standard bei ~/.aws/configoder festgelegt mit AWS_CONFIG_FILE). Eine Beispielkonfigurationsdatei als Referenz: `

[profile PROFILE_NAME]
 output=json
 region=us-west-1
 aws_access_key_id=foo
 aws_secret_access_key=bar

`

Die Variable Env AWS_PROFILEinformiert AWS cli über das Profil, das in der AWS-Konfiguration verwendet werden soll. Es ist keine Alternative zur Konfigurationsdatei wie AWS_ACCESS_KEY_ID/ AWS_SECRET_ACCESS_KEYare for ~/.aws/credentials.

Eine weitere interessante Tatsache ist , wenn AWS_PROFILEfestgelegt ist und die AWS_ACCESS_KEY_IDund AWS_SECRET_ACCESS_KEYUmgebungsvariablen gesetzt sind, dann den Anmeldeinformationen zur Verfügung gestellt von AWS_ACCESS_KEY_IDund AWS_SECRET_ACCESS_KEYwird die Anmeldeinformationen in diesem Profil angeordnet außer Kraft gesetzt durch AWS_PROFILE.

user6058180
quelle
5

Können Sie Ihre configDatei unter überprüfen ~/.aws/config? Möglicherweise haben Sie einen ungültigen Abschnitt mit dem Namen [mein Name], etwa so (dies ist ein Beispiel).

[default]
region=us-west-2
output=json

[myname]
region=us-east-1
output=text

Entfernen Sie einfach den Abschnitt [myname] (einschließlich des gesamten Inhalts für dieses Profil), und Sie können awscli erneut ausführen

Frederic Henri
quelle
4

Verwenden Sie wie folgt

[profilename]
region=us-east-1
output=text

Beispiel cmd

aws --profile myname CMD opts
Saravanakumar Karunanithi
quelle
2
Ich denke, das sollte ohne "Profil" in den eckigen Klammern sein?
Markus Köhler
1
@ MarkusKöhler: Richtig, hatte das gleiche Problem. Ihre Dokumente an einigen Stellen sagen etwas anderes: docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html (wahrscheinlich veraltet)
ddario
0

Haben Sie tatsächlich Ihren spezifischen Benutzer eingerichtet? In der exemplarischen Vorgehensweise zum Einrichten in AWS wird erläutert, wie Sie einen Standardbenutzer festlegen und anschließend zusätzliche Benutzer einrichten. Wenn Sie das vollständige Setup nicht abgeschlossen haben, haben Sie nur einen Standardblock und Ihr myName wurde nicht erstellt.

Mike Pinnell
quelle
0

War mit einem ähnlichen Problem konfrontiert und fand den folgenden Link hilfreicher als die hier gegebenen Antworten. Ich denke, dies liegt an den Aktualisierungen der AWS CLI, da die Antworten bereitgestellt werden.

/server/792937/the-config-profile-adminuser-could-not-be-found

Im Wesentlichen hilft es, zwei verschiedene Dateien zu erstellen (dh eine für die allgemeinen Konfigurationsinformationen und die zweite für die Anmeldeinformationen).

shekharlondhe
quelle
0

Stellen Sie sicher, dass Sie sich in der richtigen VirtualEnvironment befinden. Ich habe PyCharm aktualisiert und musste aus irgendeinem Grund mein Projekt erneut auf meine VE richten. Beim Öffnen des Terminals befand ich mich beim Versuch, ein Zappa-Update durchzuführen, nicht in meinem VE (und bekam diesen Fehler). PyCharm neu starten, alles wieder normal.

andyw
quelle
0

In meinem Fall hatte ich die Variable "AWS_PROFILE" für Umgebungsvariablen mit einem alten Wert.

Geben Sie hier die Bildbeschreibung ein

Jorge Freitas
quelle
-1

Für mich war es, weil meine .aws/configDatei so aussah:

[profile myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1

Ich denke, der Grund dafür ist, dass ich es auf meiner .aws/credentialsDatei basiert habe , was [profile myname]für Zappa und vielleicht einige andere aws / elastische Bohnenstangenwerkzeuge erforderlich ist .

Als ich dazu wechselte config, funktionierte es großartig:

[myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1
owenfi
quelle
Für die Konfigurationsdateien ist [Profil XXX] erforderlich, für die Anmeldeinformationsdatei ist jedoch kein Profilpräfix erforderlich.
Cgseller