Luk*_*tas 19 environment-variables command-line-interface amazon-web-services aws-sts aws-sso
至此登录aws login sso成功。
Successully logged into Start URL: *****\nRun Code Online (Sandbox Code Playgroud)\n从这里我想启动我的服务,该服务需要设置以下带有 AWS 凭证的环境变量:
\nAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN如何将这些变量提取到当前 shell 中?
\n我找到了一个可能适合我的解决方法:我注意到在我登录并运行后,aws sts get-caller-identity它会在目录中创建文件~/.aws,可以使用如下脚本对其进行解析:
#!/usr/bin/env bash\n\nset -e\n\nAWS_ACCESS_KEY_ID=$(cat ~/.aws/cli/cache/*.json | jq '.Credentials.AccessKeyId' --raw-output)\nAWS_SECRET_ACCESS_KEY=$(cat ~/.aws/cli/cache/*.json | jq '.Credentials.SecretAccessKey' --raw-output)\nAWS_SESSION_TOKEN=$(cat ~/.aws/cli/cache/*.json | jq '.Credentials.SessionToken' --raw-output)\n\n>&2 echo "\xe2\x9c\xa8 you need to eval output of this script in your current window:"\n>&2 echo ' eval $('$0')'\n>&2 echo ""\necho "export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}"\necho "export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}"\necho "export AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}"\nRun Code Online (Sandbox Code Playgroud)\n在设置了环境变量并评估此脚本的输出后eval $(./parse-aws-cache.sh),我可以使用 AWS 凭证启动我的服务。
它今天对我有用,但我对此解决方案有一些疑问:
\n理想情况下,我期望得到一个答案:
\nChr*_*est 53
现在可以使用AWS CLI 的内置功能来完成此操作。
只需运行eval "$(aws configure export-credentials --profile your-profile-name --format env)"即可。
| 归档时间: |
|
| 查看次数: |
13964 次 |
| 最近记录: |