好的,所以我在尝试通过AWS CLI通过Windows 7中的命令提示符访问AWS S3 Bucket时遇到了一个非常令人沮丧的问题.AWS CLI“无法找到凭据”,即config.txt文件@ C:\Users\USERNAME\.aws\config.txt
。
我已经尝试通过在ControlPanel> System> AdvancedSystemSettings> EnvironmentalVariables中创建AWS_CONFIG_FILE环境变量来实现它,但没有骰子。我也在另一台Win7机器上尝试了以上所有功能。再一次,没有骰子。
我在这里可以缺少什么。是否需要为AWS CLI设置特殊权限才能加入config.txt?在我自己睁开眼睛之前帮忙!
如果您感兴趣,config.txt的内容是:
[default]
aws_access_key_id = key id here
aws_secret_access_key = key here
region = us-east-1
答案 0 :(得分:38)
使用命令行工具时,还有另一种配置aws凭据的方法。 您可以使用Windows命令而不是通过文件传递凭据。 从Windows命令提示符
执行以下命令aws configure
它会提示您输入以下内容
AWS Access key ID:
AWS secrete key ID:
Default region Name:
Default output Format:
请参阅此视频教程:https://youtu.be/hhXj8lM_jBs
答案 1 :(得分:7)
好的,配置文件不能是文本文件(.txt)。您应该在CMD中创建文件,它应该是没有任何扩展名的通用文件。
答案 2 :(得分:1)
如果像我一样,您的凭据文件中有一个自定义IAM用户,而不是“ default”,请尝试将AWS_DEFAULT_PROFILE
env变量设置为IAM用户的名称,然后运行命令。
[user1]
ACCESS_KEY=
SECRET_KEY=
set AWS_DEFAULT_PROFILE=user1
aws <command>
或者,您每次使用cli时都可以指定--profile
变量:
aws <command> --profile user1
答案 3 :(得分:0)
关于这一点,我在尝试执行S3同步时遇到类似的问题。
我的发现如下。
删除=
和键值对之间的空格(请参见下面的示例)。
OP在他们的示例中指定了一个[default]
部分,但是当我删除此部分时遇到了相同的错误,因为我认为这不是必需的,因此它一文不值。 / p>
然后我按如下所示重新整理了文件,它就起作用了...
[default]
aws_access_key_id=****
aws_secret_access_key=****
region=eu-west-2
[deployment-profile]
aws_access_key_id=****
aws_secret_access_key=****
region=eu-west-2
credentials
文件的底部添加一个空白行。当我因来自AWS的模糊消息而苦苦挣扎了几个小时时,就真的发布了这些,这些是对我有用的解决方案。希望对别人有帮助。