Respuesta actualizada (7/10/2021): Para AWS CLI v1, haga esto:
export AWS_DEFAULT_PROFILE=user2Para AWS CLI v2, lo siguiente funcionará:
export AWS_PROFILE=user2La pregunta completa está abajo para el contexto:
(1.) Después de configurar con éxito un segundo perfil para AWS CLI, intenté sin éxito establecer el perfil en usuario2 en mi sesión de bash con el siguiente comando:
export AWS_PROFILE=user2... según el consejo aquí: https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html
(2.) El siguiente comando funciona:
aws s3 ls --profile user2Sé que la CLI de AWS y el perfil de usuario2 funcionan en mi computadora.
(3.) Sin embargo, cuando posteriormente (es decir, después de ingresar "exportar AWS_PROFILE=usuario2") intente algo como:
aws s3 ls... La respuesta de AWS asume que quiero consultarlo como el usuario predeterminado (NO usuario2)
(4.) Entonces, la única forma en que puedo usar el perfil de usuario2 desde la línea de comando es continuar agregando "--profile user2" a cada comando, lo cual es tedioso.
(5.)
echo $AWS_PROFILErendimientos:
>> user2, como se esperaba.
¿Alguna idea de lo que está pasando aquí? Estoy seguro de que estoy cometiendo algún error tonto en alguna parte.
Para AWS CLI v1, la solución más limpia es:
export AWS_DEFAULT_PROFILE=user2Después, comandos como:
aws s3 ls... se manejan desde la cuenta correspondiente.
Para AWS CLI v2, lo siguiente funcionará:
export AWS_PROFILE=user2Puedes ver cómo funciona haciendo esto
$ export AWS_PROFILE=myprofile $ aws s3 ls --debug 2>&1 | grep profile 2018-04-08 19:19:17,990 - MainThread - botocore.session - DEBUG - Loading variable profile from environment with value 'myprofile'.Dudo que esto funcione de manera diferente para ti.
También puedes verificar que
$ AWS_PROFILE=myprofile aws s3 ls --debug 2>&1 | grep profiley
$ aws s3 ls --profile myprofile --debug 2>&1 | grep profiletodos dan el mismo resultado.
La respuesta aceptada asume que está utilizando un terminal Linux o Mac. Agregué comandos para Windows, Linux y Mac OS.
set AWS_PROFILE=profile_name
$env:AWS_PROFILE = 'profile_name'
export AWS_PROFILE=profile_name
Estos configurarán su perfil de AWS que utilizará cada vez que ejecute un comando de AWS. Pero si solo desea cambiar el perfil temporalmente para un comando aws.
aws [command] [sub-command] --profile [profile-name]