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

使用serverless invoke local时AWS.config.credentials返回null如何解决?

解决Serverless Invoke Local下AWS SDK无法加载本地凭证的问题

以下是几种可行的解决方法:

  • 在Serverless配置文件中指定AWS Profile
    在serverless.yml的provider区块中添加profile字段,对应你本地~/.aws/credentials文件中的配置项:

    provider:
      name: aws
      profile: your-local-profile-name # 替换为你的实际profile名称
    
  • 运行命令时显式指定Profile
    执行invoke local命令时通过--aws-profile参数指定本地凭证profile:

    serverless invoke local --function your-function-name --aws-profile your-local-profile-name
    
  • 代码中手动加载凭证
    如果需要临时调试,可以在appsync.js中手动加载本地凭证文件:

    const AWS = require('aws-sdk');
    // 加载指定profile的凭证
    const credentials = new AWS.SharedIniFileCredentials({ profile: 'your-local-profile-name' });
    AWS.config.credentials = credentials;
    
  • 检查并清理冲突的环境变量
    确保当前终端环境中没有设置无效的AWS_ACCESS_KEY_ID或AWS_SECRET_ACCESS_KEY环境变量,这些变量会覆盖本地凭证文件的加载。可以通过以下命令清空(仅当前终端生效):

    unset AWS_ACCESS_KEY_ID
    unset AWS_SECRET_ACCESS_KEY
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:21:38