python - configurar - AWS: no se pudo encontrar el perfil de configuración(MyName)
uninstall aws cli (9)
Cada vez que quiero configurar algo con AWS me sale el siguiente error:
"The config profile (myname) could not be found"
como: aws configure
Estoy usando Python 3.4 y quiero usar AWS CLI Keyring para cifrar mis credenciales.
¿Realmente configuraste tu usuario específico? La guía de configuración de la guía en AWS explica cómo configurar un usuario predeterminado y luego cómo configurar usuarios adicionales. Si no completó la configuración completa, solo tendrá un bloque predeterminado y su myName no se habrá creado.
¿puede verificar su archivo de
config
en
~/.aws/config
? Es posible que tenga una sección no válida llamada [myname], algo como esto (este es un ejemplo)
[default]
region=us-west-2
output=json
[myname]
region=us-east-1
output=text
Simplemente elimine la sección [myname] (incluido todo el contenido de este perfil) y estará bien para ejecutar
aws
cli nuevamente
Asegúrese de estar en el entorno virtual correcto. Actualicé PyCharm y por alguna razón tuve que apuntar mi proyecto nuevamente a mi VE. Al abrir la terminal, no estaba en mi VE cuando intentaba actualizar zappa (y recibí este error). Reiniciando PyCharm, todo vuelve a la normalidad.
Creo que falta algo en la documentación de AWS en
http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html
, no mencionó que debería editar el archivo
~/.aws/config
para agregar su perfil de nombre de usuario.
Hay
dos formas
de hacer esto:
-
editar
~/.aws/config
o -
aws configure --profile "your username"
Estaba enfrentando un problema similar y el enlace a continuación fue más útil que las respuestas proporcionadas aquí. Supongo que esto se debe a las actualizaciones de AWS CLI ya que se proporcionan las respuestas.
https://serverfault.com/questions/792937/the-config-profile-adminuser-could-not-be-found
Esencialmente, ayuda a crear dos archivos diferentes (es decir, uno para la información relacionada con la configuración general y el segundo para la información relacionada con las credenciales).
Me encontré con este problema cuando me mudé a una nueva máquina, llevando conmigo mi variable de entorno AWS_DEFAULT_PROFILE, pero no mi directorio ~ / .aws.
No pude hacer funcionar ningún comando awscli hasta que desarme esa variable o configuré correctamente el perfil con nombre.
Pero incluso el comando
aws configure
se rompió, lo que dificulta un poco las cosas.
Suponiendo que tenga a mano un shell similar a Unix:
-
Para determinar qué variables específicas de AWS puede tener en su sesión:
env | grep AWS_
env | grep AWS_
- Si no ve AWS_DEFAULT_PROFILE en esta lista, esta respuesta no es aplicable en su caso.
-
Para eliminar temporalmente el perfil predeterminado:
unset AWS_DEFAULT_PROFILE
-
Para configurar ese perfil predeterminado:
aws --profile foo configure
-
Para restablecer la variable de perfil predeterminada:
exec $SHELL
-
Para probar su nueva configuración:
aws iam get-user
Para mí fue porque tenía mi archivo
.aws/config
el siguiente aspecto:
[profile myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1
Creo que la razón es que lo
.aws/credentials
mi archivo
.aws/credentials
, que requiere tener
[profile myname]
para Zappa y tal vez algunas otras herramientas aws / elastic beanstalk.
Cuando cambié la
config
a esto funcionó muy bien:
[myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1
Trabajar con perfiles es un poco complicado. La documentación se puede encontrar en: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html (Pero debe prestar atención a las variables env como AWS_PROFILE)
El uso del perfil con aws cli requiere un archivo de configuración (predeterminado en
~/.aws/config
o configurado mediante
AWS_CONFIG_FILE
).
Un archivo de configuración de muestra para referencia: `
[profile PROFILE_NAME]
output=json
region=us-west-1
aws_access_key_id=foo
aws_secret_access_key=bar
``
La variable Env
AWS_PROFILE
informa a AWS cli sobre el perfil a usar desde la configuración de AWS.
No es una alternativa del archivo de configuración como
AWS_ACCESS_KEY_ID
/
AWS_SECRET_ACCESS_KEY
para
~/.aws/credentials
.
Otro hecho interesante es si
AWS_PROFILE
está configurado y las variables de entorno
AWS_ACCESS_KEY_ID
y
AWS_SECRET_ACCESS_KEY
están establecidas, entonces las credenciales proporcionadas por
AWS_ACCESS_KEY_ID
y
AWS_SECRET_ACCESS_KEY
las credenciales ubicadas en el perfil proporcionado por
AWS_PROFILE
.
Use de la siguiente manera
[profilename]
region=us-east-1
output=text
Cmd de ejemplo
aws --profile myname CMD opts