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

如何本地运行Serverless框架搭建的带Lambda解析器的AppSync

Serverless + AppSync + Lambda 本地调试步骤

1. 安装本地调试插件

原生的serverless-offline不支持直接运行AppSync服务,需要额外安装适配插件:

npm install serverless-appsync-offline --save-dev

修改serverless.yml的plugins配置,注意插件加载顺序:

plugins:
   - serverless-appsync-plugin
   - serverless-pseudo-parameters
   - serverless-appsync-offline # 必须放在serverless-offline之前
   - serverless-offline

2. 追加本地运行配置

在custom配置块中新增AppSync本地运行参数,原有配置无需修改:

custom:
  # 你原有配置保留,追加以下内容
  appsync-offline:
    port: 20002 # 本地AppSync服务端口,可自定义
    host: "0.0.0.0"
    location: . # 映射模板、schema文件的根目录,匹配你现有项目路径即可
    # 本地调试无需对接真实Cognito,可临时切换为简单鉴权或直接关闭鉴权
    disableAuth: true # 设为true后所有请求跳过鉴权,方便直接调试业务逻辑
    # 如果需要保留鉴权逻辑测试,可使用API_KEY模式,替换原有Cognito配置
    # authenticationType: 'API_KEY'
    # apiKey: 'local_test_key_123456'

3. 启动本地调试服务

执行启动命令即可运行本地AppSync和Lambda服务:

sls offline start

启动成功后可通过 http://localhost:20002/graphql 访问GraphQL端点,直接发送测试请求,也可以在Lambda代码中打断点调试执行逻辑。

常见问题修复

  • 提示找不到映射模板:检查appsync-offline.location配置是否和你存放.txt映射模板的路径一致
  • Lambda执行报错:可临时将provider.runtime修改为你本地Node.js对应的版本,调试通过后再还原为云端需要的版本即可
  • 资源引用报错:本地运行时插件会自动模拟云端的角色、用户池等资源,不需要你在本地额外部署这些资源,无需修改原有Ref、Fn::GetAtt相关配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:54:05