1. 安裝 serverless
yarn global add serverless
或 npm install -g serverless
,安裝完后霍转,輸入serverless -h
荐绝,查看更多命令信息:
Commands
* You can run commands with "serverless" or the shortcut "sls"
* Pass "--verbose" to this command to get in-depth plugin info
* Pass "--no-color" to disable CLI colors
* Pass "--help" after any <command> for contextual help
Framework
* Documentation: https://serverless.com/framework/docs/
config ........................ Configure Serverless
config credentials ............ Configures a new provider profile for the Serverless Framework
create ........................ Create new Serverless service
install ....................... Install a Serverless service from GitHub balabala...
package ....................... Packages a Serverless service
deploy ........................ Deploy a Serverless service
deploy function ............... Deploy a single function from the service
deploy list ................... List deployed version of your Serverless Service
deploy list functions ......... List all the deployed functions and their versions
invoke ........................ Invoke a deployed function
invoke local .................. Invoke function locally
info .......................... Display information about the service
logs .......................... Output the logs of a deployed function
metrics ....................... Show metrics for a specific function
print ......................... Print your compiled and resolved config file
remove ........................ Remove Serverless service and all resources
rollback ...................... Rollback the Serverless service to a specific deployment
rollback function ............. Rollback the function to the previous version
slstats ....................... Enable or disable stats
plugin ........................ Plugin management for Serverless
plugin install ................ Install and add a plugin to your service
plugin uninstall .............. Uninstall and remove a plugin from your service
plugin list ................... Lists all available plugins
plugin search ................. Search for plugins
Plugins
AwsConfigCredentials, Config, Create, Deploy,
Info, Install, Invoke, Logs, Metrics, Package, Plugin,
PluginInstall, PluginList, PluginSearch,
PluginUninstall, Print, Remove, Rollback, SlStats
2. 配置證書
使用如下命令配置證書:
serverless config credentials --provider aws --key AWS_ACCESS_KEY_ID --secret AWS_SECRET_ACCESS_KEY
配置完成后,會(huì)生成這個(gè)文件: ~/.aws/credentials
避消,內(nèi)容如下:
3. 創(chuàng)建 HelloWorld
serverless create --template aws-nodejs --path hello-world
成功后會(huì)出現(xiàn):
Serverless: Generating boilerplate...
Serverless: Generating boilerplate in "/Users/kenny/Desktop/hello-world"
_______ __
| _ .-----.----.--.--.-----.----| .-----.-----.-----.
| |___| -__| _| | | -__| _| | -__|__ --|__ --|
|____ |_____|__| \___/|_____|__| |__|_____|_____|_____|
| | | The Serverless Application Framework
| | serverless.com, v1.38.0
-------'
Serverless: Successfully generated boilerplate for template: "aws-nodejs"
4. 部署 hello-world
cd hello-world && serverless deploy -v
低滩,注:這里的-v
不是顯示版本召夹,而是 --verbose
詳細(xì)信息
成功后會(huì)出現(xiàn):
Serverless: Packaging service...
.... 省略好多行
Service Information
service: hello-world
stage: dev
region: us-east-1
stack: hello-world-dev
resources: 5
api keys:
None
endpoints:
None
functions:
hello: hello-world-dev-hello
layers:
None
Stack Outputs
HelloLambdaFunctionQualifiexxx173xxxello-world-dev-hello:1
ServerlessDeploymentBucketName: hxxx03dam9553lxq
5. 調(diào)用服務(wù)
sls invoke -f hello -l -d Kenny鍋
{
"statusCode": 200,
"body": "{
\"message\":\"Go Serverless v1.0! Your function executed successfully!\",
\"input\":\"Kenny鍋\"
}"
}
--------------------------------------------------------------------
START RequestId: d1d42540-f776-4399-b39f-1742178ecec6 Version: $LATEST
END RequestId: d1d42540-f776-4399-b39f-1742178ecec6
REPORT RequestId: d1d42540-f776-4399-b39f-1742178ecec6
Duration: 2.45 ms Billed Duration: 100 ms Memory Size: 1024 MB
Max Memory Used: 72 MB
上述命令的解釋:
-
sls
是 serverless 的縮寫 -
invoke
是調(diào)用服務(wù) -
-f
的 f 表示 function 名 -
-l
的 l 表示 log(日志) -
-d
的 d 表示傳入的 data (數(shù)據(jù))
更多 invoke 解釋,只需 sls invoke -h
invoke ........................ Invoke a deployed function
invoke local .................. Invoke function locally
--function / -f (required) ......... The function name
--stage / -s ....................... Stage of the service
--region / -r ...................... Region of the service
--path / -p ............ Path to JSON or YAML file holding input data
--type / -t ........................ Type of invocation
--log / -l ......................... Trigger logging data output
--data / -d ........................ Input data
--raw ...................... Flag to pass input data as a raw string
是不是很簡(jiǎn)單恕沫,行動(dòng)起來吧监憎!
6. 是不是還有兩個(gè)文件沒講?
├── handler.js
└── serverless.yml
等您點(diǎn)贊婶溯、評(píng)論后鲸阔,留著下次講 ^ _ ^
相關(guān)文章
- Serverless 入門(一) - 創(chuàng)建 IAM http://www.reibang.com/p/9fb731a799e2
- Serverless 入門(二) - HelloWord http://www.reibang.com/p/ddf2ffda5f63
- Serverless 入門(三)- 初始項(xiàng)目解讀 http://www.reibang.com/p/8baba2a8fe9f
- Serverless 入門(四)- 如何調(diào)試 http://www.reibang.com/p/58d30915de8a
- Serverless 入門(五)- 常用命令 http://www.reibang.com/p/28f001ea9d9d
- Serverless 入門(六)- DynamoDB 數(shù)據(jù)庫(上) http://www.reibang.com/p/c313b61d1cbf
- Serverless 入門(七)- DynamoDB 數(shù)據(jù)庫(中) http://www.reibang.com/p/05e7f4ccd6fe
- Serverless 入門(八)- DynamoDB 數(shù)據(jù)庫(下) http://www.reibang.com/p/0f9f1561ec46
- Serverless 入門(九)- 權(quán)限 http://www.reibang.com/p/97228749d761