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

Jupyter Notebook调用AWS Forecast遇NoCredentialsError的解决方法

解决AWS Forecast Notebook的NoCredentialsError问题

核心原因

你已创建带凭证的boto3 Session,但后续单元格可能直接调用boto3.client('forecast')创建客户端,未关联这个已授权的Session,导致系统仍从默认路径(如环境变量、本地凭证文件)查找凭证,最终触发报错。

具体修复操作

  • 统一使用授权Session创建客户端
    替换所有创建Forecast相关客户端的代码,将:

    forecast_client = boto3.client('forecast')
    

    修改为:

    forecast_client = session.client('forecast')
    

    涉及其他AWS服务客户端(如ForecastQueryService、S3)时,同样通过该Session创建,例如:

    forecast_query_client = session.client('forecastquery')
    s3_client = session.client('s3')
    
  • 验证凭证有效性
    在创建Session后添加测试单元格,确认凭证可正常调用AWS服务:

    # 测试凭证权限(以S3为例,若用到S3存储数据)
    s3_client = session.client('s3')
    print(s3_client.list_buckets())
    

    若此测试报错,说明你的access_key_id或secret_access_key有误,需检查凭证是否正确、是否拥有Forecast相关操作权限。

  • 确保区域一致
    确认Session设置的region_name与你使用的Forecast资源所在区域完全匹配,比如资源在us-east-1,Session的区域参数也需设为'us-east-1',避免跨区域导致的凭证验证失败。

额外提醒

  • 生产环境中不要在Notebook硬编码凭证,建议为运行Notebook的实例(如EC2、SageMaker)附加带Forecast权限的IAM角色,无需手动输入凭证。
  • 检查后续单元格是否有重新初始化boto3的代码,确保全程复用同一个已授权的Session。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:15:41