不得不说,serverless还是比sam配置要容易太多了。还是得静下心来读文档啊!

1. 首先安装插件到当前项目中,另外保证java jdk>=1.8

yarn add --dev serverless-offline
yarn add --dev serverless-dynamodb-local

2. serverless.yml中添加对应插件,serverless中添加dynamodb配置。

plugins和custom同级:

plugins:
    - serverless-offline
    - serverless-dynamodb-local

serverless文件当中添加如下行,放在custom下即可。

custom:
  dynamodb:
    stages:
      - dev
    start:
      port: 8112      # 指定dynamodb服务端口
      inMemory: false  # 不放内存
      migrate: true
      dbPath: ./db   # 指定本地数据库路径

3. 启动命令

启动项目命令如下:

sls offline start

4.数据插入查询及命令行dynamodb操作调试。

数据插入:
curl http://localhost:3000/dev/lotteries/save -X POST -H "Content-Type:application/json" --data '{"id":10}'
数据查询:
curl http://localhost:3000/dev/lotteries/10 

如果插入后查不到数据,可以先确认表是否创建。

aws-cli命令行确认表是否创建
aws dynamodb list-tables --endpoint-url http://0.0.0.0:8112

然后确定一下本地dynamoDB是否插入数据成功。
端口根据serverless.yml里面的来。

aws-cli命令行扫描当前表确认是否有数据。
aws dynamodb scan --table-name Lottery-dev --endpoint-url http://0.0.0.0:8112 

参考:

https://serverless.com/framework/docs/providers/aws/guide/variables/#referencing-serverless-core-variables

http://serverless.ink/#serverless-dynamodb-%E6%B5%8B%E8%AF%95

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐