为何DynamoDB无法与Amplify Mock配合使用?本地模拟表访问失败
Amplify Mock模拟DynamoDB表无法访问的解决办法
核心排查步骤
- 确保Mock服务持续运行:
amplify mock api命令必须保持开启状态,终端不能中途关闭或报错。如果服务停了,重新执行启动命令。 - 检查端口占用情况:Amplify Mock默认用8000端口运行DynamoDB模拟服务,用以下命令排查端口是否被占用:
- Mac/Linux:
lsof -i :8000 - Windows:
netstat -ano | findstr :8000
若端口被占,杀掉对应进程,或者修改Amplify配置更换端口。
- Mac/Linux:
- 注意访问方式:不能直接在浏览器打开
localhost:8000(浏览器请求不符合DynamoDB协议,会返回错误)。需要通过AWS SDK、DynamoDB客户端工具或AWS CLI连接,配置端点为http://localhost:8000。 - 验证表创建状态:查看
amplify mock api启动日志,确认是否有Creating table <你的表名>的成功提示。如果日志里有表创建失败的报错,检查schema定义是否合法。 - 用AWS CLI测试连接:执行以下命令测试模拟服务是否正常响应:
能返回表列表说明服务正常,问题出在应用配置;若报错,重新启动Mock服务。aws dynamodb list-tables --endpoint-url http://localhost:8000 --region us-east-1 - 确认AppSync与Mock的关联:确保你的AppSync请求指向本地Mock地址
http://localhost:20002/graphql,而非云端服务。
查看表数据的正确方式
如果要可视化查看模拟表的内容,推荐用NoSQL Workbench:
- 打开NoSQL Workbench,选择「DynamoDB Local」
- 添加新连接,端点填
http://localhost:8000,区域选us-east-1 - 连接成功后就能看到所有模拟表,可查看、修改数据
内容的提问来源于stack exchange,提问作者izaac mendes
相关产品推荐
相关产品推荐

