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

使用GraphQL应用执行查询遇CredentialsError问题求助

解决Amplify GraphiQL查询时的CredentialsError问题

错误原因

这个错误源于serverless-plugin-offline-dynamodb-stream插件在连接DynamoDB流时,无法找到有效的AWS凭证配置。即便Amplify本地初始化时生成了临时凭证,该插件也可能未正确读取,或是需要额外环境变量来加载AWS配置文件。

解决方案

1. 设置AWS_SDK_LOAD_CONFIG环境变量

根据错误提示,先配置这个环境变量,让AWS SDK加载本地的AWS配置文件:

  • Windows(CMD):

    set AWS_SDK_LOAD_CONFIG=1
    npm run start
    
  • Windows(PowerShell):

    $env:AWS_SDK_LOAD_CONFIG=1
    npm run start
    
  • macOS/Linux:

    AWS_SDK_LOAD_CONFIG=1 npm run start
    

如果不想每次启动都手动设置,可将该环境变量添加到项目的.env文件中(没有则直接创建):

AWS_SDK_LOAD_CONFIG=1

2. 验证本地AWS凭证配置

确认本地AWS凭证配置无误:

  • 检查~/.aws/credentials(macOS/Linux)或C:\Users\username\.aws\credentials(Windows)文件是否存在,且包含有效凭证信息:
    [default]
    aws_access_key_id = YOUR_ACCESS_KEY
    aws_secret_access_key = YOUR_SECRET_KEY
    
  • 若是Amplify初始化的项目,运行amplify configure重新配置本地凭证,确保Amplify能正确获取AWS权限。

3. 调整serverless插件配置

在serverless.yml中检查或添加serverless-plugin-offline-dynamodb-stream的配置,指定本地DynamoDB的端点(使用本地DynamoDB时):

plugins:
  - serverless-plugin-offline-dynamodb-stream

custom:
  dynamodbStream:
    endpoint: http://localhost:8000
    region: us-east-1 # 替换为你实际使用的区域
    accessKeyId: fakeMyKeyId # 本地测试用虚拟凭证,无需真实密钥
    secretAccessKey: fakeSecretAccessKey

本地测试时使用AWS提供的虚拟凭证即可,不需要真实的AWS密钥。

4. 重置依赖解决冲突

有时依赖冲突也会引发这类问题,可尝试删除node_modules和锁文件后重新安装:

# macOS/Linux
rm -rf node_modules package-lock.json
npm install
:: Windows
rd /s /q node_modules
del package-lock.json
npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:40:19