Fork me on GitHub

一个 Serverless offline + Aws Dynamodb local Demo

从无极而太极,无服务即是服务

  • Serverless是什么,国内外云计算大厂提供相关技术架构和服务,如 WS Lambda,Azure Functions,Google Cloud Functions,IBM Cloud Functions,阿里云的函数计算等,还有为特定用例提供服务的小型供应商, 例如 Twilio Functions、 PubNub Functions、 Auth0 Webtask。还有一些使用 Docker 和 Kubernetes 构建的 serverless 计算实现,例如 Kubeless 和 Fission。
  • Serverless官网
  • Serverless Framework Github

本地环境:Win7,Git,Nodejs(npm)

1.安装全局 serverless framework

npm install -g serverless

安装完验证一下

serverless -v

2.设置 aws 凭证

我这里没有aws账号,暂且用官方的示例:临时安全凭证
将其导入到本地

serverless config credentials --provider aws --key AKIAIOSFODNN7EXAMPLE --secret wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

将会自动生成配置到用户目录下 ~/.aws/credentials

下面先下载官方Demo在本地配置跑一下

3.下载aws-node-rest-api-with-dynamodb-and-offline

serverless install -u https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb-and-offline -n aws-node-rest-api-with-dynamodb-and-offline

4.安装必要依赖

cd aws-node-rest-api-with-dynamodb-and-offline
npm install

1

5.安装 aws dynamodb

serverless dynamodb install

6.启动本地离线服务

serverless offline start

2

7.另外打开一个GitBash,迁移数据,这一步不执行也行,因为会报 Serverless: DynamoDB - Warn - table aws-node-rest-api-with-dynamodb-and-offline-dev already exists

serverless dynamodb migrate

8.打开浏览器地址栏输入 http://localhost:8000/shell/ 就可以看到DynamoDB JavaScript Shell

3

在控制台输入 tutorial.start() 可以漫游Dynamodb基本操作
4

9.浏览器地址栏输入 http://localhost:3000/todos 请求到的是空json对象

5

控制台输出红圈响应:

6

10.下面通过 curl插入一条数据

7

控制台输出响应:

8

重复第9步,浏览器输出数据:

9

11.通过火狐插件 HttpRequester插件再插入一条数据

10

控制台输出响应:

11

重复第9步,浏览器输出数据:

12