Serverless 入門(二) - HelloWord

1. 安裝 serverless

yarn global add serverlessnpm 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. 配置證書(shū)

使用如下命令配置證書(shū):
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 的縮寫(xiě)
  • 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)起來(lái)吧!

6. 是不是還有兩個(gè)文件沒(méi)講?
├── handler.js
└── serverless.yml

等您點(diǎn)贊、評(píng)論后,留著下次講 ^ _ ^

相關(guān)文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Chapter 12: Security on AWS B. All decommissioned magneti...
    K1024閱讀 761評(píng)論 0 0
  • 感謝光顧,簡(jiǎn)書(shū)停更,遷移至sengmentfault: https://segmentfault.com/a/11...
    hanyouqing閱讀 3,403評(píng)論 0 2
  • 背景HUE 3.11.0支持AWS的s3集群,但在內(nèi)網(wǎng)環(huán)境部署時(shí)發(fā)現(xiàn)HUE無(wú)法訪問(wèn)自有的s3集群,打開(kāi)s3的fil...
    wpb閱讀 1,965評(píng)論 0 0
  • 通過(guò)iOS 8app extensions,我們可以選擇多種方式去分享我們app的功能。Document Prov...
    _淺墨_閱讀 7,248評(píng)論 4 12
  • (不好意思,這次沒(méi)按要求寫(xiě),怕過(guò)點(diǎn)了,晚點(diǎn)再重新寫(xiě)轉(zhuǎn)折點(diǎn))2011年11月,我隨著自己的心安排好客棧的事后就...
    aa5db2ee5000閱讀 404評(píng)論 1 0