You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Boto3连接AWS遇NoCredentialsError问题求助

Boto3 无法读取AWS凭证问题排查

以下是几个常见的排查方向和解决办法:

  • 核对credentials文件路径
    • 确认文件位置:Linux/macOS需放在~/.aws/credentials,Windows放在C:\Users\<你的用户名>\.aws\credentials,路径错误会导致Boto3无法找到文件。
  • 检查文件格式与内容
    • 确保[default]块拼写正确,密钥行没有多余空格或换行,复制的aws_access_key_id和aws_secret_access_key完整无误,不要遗漏字符。
  • 排查环境变量冲突
    • Boto3会优先读取系统环境变量中的AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,如果这些变量已设置且和credentials文件内容不一致,会覆盖文件配置。可以通过以下命令检查:
      • Linux/macOS:echo $AWS_ACCESS_KEY_ID
      • Windows:echo %AWS_ACCESS_KEY_ID%
        若有输出,临时取消这些环境变量后重试。
  • 验证AWS CLI配置有效性
    • 运行aws s3 ls命令,如果该命令同样报错,说明凭证本身配置有问题,而非Boto3代码问题;若能正常列出存储桶,再聚焦Boto3的配置排查。
  • 显式指定配置文件加载
    • 尝试在代码中显式调用默认配置文件,避免自动加载失败:
      import boto3
      
      session = boto3.Session(profile_name='default')
      client = session.client('s3')
      list_bucket = client.list_buckets()
      print(list_bucket)
      
  • 修正文件权限(仅Linux/macOS)
    • AWS要求credentials文件权限不能过松,运行chmod 600 ~/.aws/credentials设置文件仅当前用户可读可写,否则会被拒绝读取。

内容的提问来源于stack exchange,提问作者Nate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 05:10:00