serverless+dynamodb 本地调试

章哲茂
2023-12-01

不得不说,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

 类似资料: