• 最全!即学即会 Serverless Devs 基础入门(上)


    简介: 在上篇《即学即会 Serverless | 如何解决 Serverless 应用开发部署的难题》中,我们阐述了工具链的重要性,那么本文将带领各位快速实现 Serverless Devs 入门。


     

    在上篇《即学即会 Serverless | 如何解决 Serverless 应用开发部署的难题》中,我们阐述了工具链的重要性,那么本文将带领各位快速实现 Serverless Devs 入门。

     

    安装工具

     

    • 第一步:请先安装 Node.js(>=10.8.0) 与 NPM 包管理工具;
    • 第二步:安装 Serverless Devs 开发者工具;具体的安装方式参考文档:

    https://help.aliyun.com/document_detail/195474.html

    $ npminstall @serverless-devs/s -g
    • 第三步:可以通过 s -v 判断工具是否安装成功,如果安装成功可以看到相对应的版本信息,例如:
    @serverless-devs/s:2.0.89, @serverless-devs/core: 0.1.7, darwinarwin-x64, node-v12.15.0

    配置密钥

    获取密钥

     

    配置 Serverless Devs 的阿里云密钥,一般需要密钥信息,获取页面为:

    https://usercenter.console.aliyun.com/#/manage/ak

    • AccessKeyID:用户的 AK 信息
    • AccessKeySecret:用户的 SK 信息

     

    关于密钥信息的获取流程如下:打开获取密钥页面;https://usercenter.console.aliyun.com/#/manage/ak

     

    并获取密钥信息 :

     

    引导式密钥配置

     

    通过引导式进行密钥配置:可以通过 s config add 命令,进行引导式创建:

    执行 s config add ,并选择 Alibaba Cloud (alibaba):

    $ s config add? Please select a template: Alibaba Cloud(alibaba)Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba? AccountID ()

    此时,可以按照引导,进行密钥的配置:

    ? Please select a template: Alibaba Cloud(alibaba)
    Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba
    ? AccessKeyID 此处填写AccessKeyID
    ? AccessKeySecret 此处填写AccessKeySecret
    ? Please create alias for key pair. Ifnot, please enter to skip alibaba-access
    
       Alias: alibaba-access   AccountID:此处填写AccountID
       AccessKeyID: 此处填写AccessKeyID
       AccessKeySecret: 此处填写AccessKeySecret
    
    Configuration successful

    命令式密钥配置

    为了在一些自动化流程中可以更好的使用 Serverless Devs,所以除了通过引导式进行密钥的配置, Serverless Devs 还支持通过命令行非交互式进行密钥的配置。

     

    同样以阿里云密钥配置为例,可以直接通过参数将密钥信息传入:

    
    $ s configadd --AccessKeyID myAccessKeyID --AccessKeySecret myAccessKeySecret -a demoAlias: demoAccountID: myAccountIDAccessKeyID: myAccessKeyIDAccessKeySecret: myAccessKeySecretConfigurationsuccessful

    通过环境变量配置

    有相当一部分的开发者会将密钥信息放在环境变量中,这样在使用工具的时候,就需要从环境变量中读取密钥信息,此时,通过环境变量配置密钥的方法就显得尤为重要,为此,Serverless Devs 提供了两种通过环境变量配置密钥的方法:

     

    方法 1: 直接通过 config add 进行配置

    这种方法很简单,基本和上面所描述的命令式密钥配置是类似的,只不过传入的不是固定值,而是环境变量,例如在环境变量中有:

     

    ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET 等相关内容;

     

    此时可以通过 s configadd 命令进行添加:

    
    $ s config add -adefault-aliyun -kl AccessKeyID,AccessKeySecret -il${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET}

    方法 2: 通过指定名称使用环境变量密钥
    通过指定环境变量的名字进行配置:例如当前有阿里云密钥对:

    AccountID:temp_accountid
    AccessKeyID:temp_accesskeyid
    AccessKeySecret:temp_accesskeysecret

    此时可以在环境变量中可以命名 key 为*********_serverless_devs_access,

    例如 default_serverless_devs_access,value 为 JSON 字符串,如:

    Key:default_serverless_devs_access
    Value:{\"AccessKeyID\":\"temp_accesskeyid\",\"AccessKeySecret\":\"temp_accesskeysecret\"}

    密钥使用的注意事项

    安全相关

    云账号 AccessKey 是您访问阿里云 API 的密钥,具有该账户完全的权限,请您务必妥善保管!不要通过任何方式(e.g. Github)将 AccessKey 公开到外部渠道,以避免被他人利用而造成安全威胁 。强烈建议开发者遵循阿里云安全最佳实践 ,使用 RAM 子用户 AccessKey 来进行 API 调用。
    关于密钥配置中 Alias 的实际思路
    在 Serverless Devs 中,除了配置云厂商所提供的密钥信息之外,还需要额外进行 Alias 的设置,这里所谓的 Alias 是指对密钥进行的别名设置。由于 Serverless Devs 支持多密钥的配置和管理,所以一般情况下,一个别名对应一个密钥对。相关的最佳实践可以是:

    ●有两个账号,分别是阿里云账号和腾讯云账号,那么配置密钥的时候就可以设置别名 alibaba、tencent,在使用的时候,通过引用不同别名使用不同的密钥,以防止每次切换密钥的时候,进行密钥重新配置;
    ●自己拥有两个环境的密钥,一个是测试环境密钥 test,一个是线上环境密钥 release,当开发完成之后需要把业务部署到不同的环境下,可以通过指定密钥的形式,直接进行部署,而无需因为密钥的切换反复进行密钥的重新配置;
    密钥使用方法

    在 Serverless Devs 中,密钥的使用主要在两个层面:

    ●命令行层面:在命令行中使用的时候,可以直接通过-a/--access 参数进行使用,例如在部署某业务的时候,可以通过 s deploy-a demo 指定使用 demo 密钥对;
    ●Yaml 配置文件层面:可以通过在 Yaml 中进行密钥对的指定,例如:



    在 Yaml 的中直接指定 access,表示整个应用都通过当前密钥对进行部署,也可以在某个模块/业务下指定当前模块/业务使用某指定的密钥对进行部署。
    密钥使用顺序相关
    密钥支持多种形式的使用,也就会出现密钥的使用的顺序问题:
    ●通过 -a/--access 参数指定的密钥信息
    ●使用已经配置的 default 密钥信息
    ●使用通过环境变量配置的 ``default_serverless_devs_access` 密钥信息
    ●不使用密钥信息 / 进入密钥信息配置引导

    具体的流程图为:


    密钥的其他相关操作

    在 Serverless Devs 中,除了配置密钥之外还包括密钥的修改、删除和查看,此时可以通过 s config -h 进行相关功能的查看:
    ●密钥的查看,可以通过 s config get -h 查看帮助;
    ●密钥的修改,可以重新进行指定别名的密钥的创建,并通过-f 参数,强行覆盖;
    ●密钥的删除,可以通过 s config delete-h 查看帮助;
    结语
    Serverless Devs 可以通过指定格式的 Yaml 对 Serverless 应用进行描述,在 Serverless Devs 的规定中,一个 Yaml 可以被认为是一个 Serverless 应用,在下篇文章中我会为大家具体介绍下 Yaml 的使用规范。

    原文链接:http://click.aliyun.com/m/1000345819/
    本文为阿里云原创内容,未经允许不得转载。
  • 相关阅读:
    scrapy爬虫爬取小姐姐图片(不羞涩)
    scrapy爬虫登录edusrc查看漏洞列表
    代码审计【根据功能点定向审计】BugFree ZSWin重装案例
    645-2007协议解析
    最近总结
    防爆zigbee模块
    物联网卡余额管理软件更新
    激光+紫外催化控制器
    modbus转edp协议
    modbus转mqtt工具
  • 原文地址:https://www.cnblogs.com/yunqishequ/p/16379307.html
Copyright © 2020-2023  润新知