美文网首页大数据&云计算阿里云Serverless
Serverless 入门(二) - HelloWord

Serverless 入门(二) - HelloWord

作者: Kenny锅 | 来源:发表于2019-03-08 15:52 被阅读52次

    1. 安装 serverless

    yarn global add serverlessnpm install serverless -g,安装完后,输入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

    配置完成后,会生成这个文件: ~/.aws/credentials,内容如下:

    3. 创建 HelloWorld

    serverless create --template aws-nodejs --path hello-world

    成功后会出现:

    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 详细信息

    成功后会出现:

    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. 调用服务

    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 是调用服务
    • -f 的 f 表示 function 名
    • -l 的 l 表示 log(日志)
    • -d 的 d 表示传入的 data (数据)

    更多 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
    

    是不是很简单,行动起来吧!

    6. 是不是还有两个文件没讲?
    ├── handler.js
    └── serverless.yml
    

    等您点赞、评论后,留着下次讲 ^ _ ^

    相关文章

    相关文章

      网友评论

        本文标题:Serverless 入门(二) - HelloWord

        本文链接:https://www.haomeiwen.com/subject/tjirpqtx.html