You need to enable JavaScript to run this app. AWS TranscribeStreaming运行报错无法从AwsCredentialsProviderChain加载凭证如何解决
优惠活动
大模型
产品
解决方案
定价
更多

AWS TranscribeStreaming运行报错无法从AwsCredentialsProviderChain加载凭证如何解决

AWS TranscribeStreaming Java 凭证加载失败解决方案

你遇到的报错为:

Unable to load credentials from any of the providers in the chain AwsCredentialsProviderChain.

这个报错说明AWS SDK v2的DefaultCredentialsProvider没有从默认的凭证加载链中读取到有效凭证,按以下步骤排查即可:

  • 排查环境变量生效情况
    首先确认你配置的环境变量名严格为AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,没有拼写错误。其次要注意:如果是在终端配置的环境变量,仅对当前终端会话生效,IDE运行程序需要重启IDE继承最新的环境变量。你可以在代码main方法开头加入一行测试代码确认环境变量是否能被读取:
    System.out.println("ACCESS_KEY读取结果:" + System.getenv("AWS_ACCESS_KEY_ID"));
    
    如果输出为null,说明环境变量配置未生效。
  • 排查依赖版本一致性
    检查你项目中所有AWS SDK v2相关依赖的版本号完全一致,不要混合不同版本的sdk-core、transcribestreaming等依赖,版本不兼容会导致凭证加载逻辑异常。
  • 临时测试方案(不推荐生产使用)
    你可以修改getCredentials方法,先硬编码凭证测试代码逻辑是否正常:
    private static AwsCredentialsProvider getCredentials() {
        AwsCredentials credentials = BasicAwsCredentials.create(
            "替换为你的AWS_ACCESS_KEY_ID",
            "替换为你的AWS_SECRET_ACCESS_KEY"
        );
        return StaticCredentialsProvider.create(credentials);
    }
    
    如果修改后程序正常运行,即可确认问题出在默认凭证链的加载环节,和你业务代码无关。
  • 本地开发更稳定的凭证配置方案
    你可以在当前系统用户根目录下创建.aws文件夹,在文件夹内新建名为credentials的无后缀文件,写入以下内容:
    [default]
    aws_access_key_id = 替换为你的AWS_ACCESS_KEY_ID
    aws_secret_access_key = 替换为你的AWS_SECRET_ACCESS_KEY
    
    DefaultCredentialsProvider会自动读取该文件的凭证,无需配置环境变量,重启IDE也不会失效,更适合本地开发场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 11:15:03