配置Localstack AWS凭证后执行aws s3 ls命令报InvalidAccessKeyId错误排查
解决AWS CLI调用Localstack时的InvalidAccessKeyId错误
你的问题出在AWS CLI v2不支持在~/.aws/config文件的profile段中直接设置endpoint_url,这个配置项在v2中需要移到credentials文件里,或者通过其他方式指定。
修复步骤
- 修改
~/.aws/config文件,移除endpoint_url配置:
[profile localstack] region=us-east-1 output=json
- 将
endpoint_url添加到~/.aws/credentials文件的localstack段中:
[localstack] aws_access_key_id=test aws_secret_access_key=test endpoint_url = http://localhost:4566
验证
重新执行命令:
aws --profile localstack s3 ls
此时应该能正常返回结果(无桶则为空,不会再触发InvalidAccessKeyId错误)。
补充说明
AWS CLI v2对配置文件的结构做了调整,endpoint_url不再被识别为config文件中profile的有效配置项,导致CLI没有正确指向Localstack的端点,反而尝试请求真实AWS服务,因此出现密钥无效的错误。
内容的提问来源于stack exchange,提问作者baynezy
相关产品推荐
相关产品推荐

