在使用Serverless Devs前,您需要配置Serverless Devs。本文以阿里云密钥为例,介绍如何使用s config相关命令添加、获取和删除密钥。

前提条件

安装Serverless Devs

添加密钥信息

  1. 执行以下命令选择云厂商。
    s config add
    执行输出:
    > Alibaba Cloud (alibaba)
      AWS (aws)
      Azure (azure)
      Baidu Cloud (baidu)
      Google Cloud (google)
      Huawei Cloud (huawei)
      Tencent Cloud (tencent)
    (Move up and down to reveal more choices)
  2. 选择目标云厂商,然后按回车。本文以Alibaba Cloud (alibaba)为例。
  3. 根据交互提示,设置相关密钥信息。
    Please select a provider: Alibaba Cloud (alibaba)
     Refer to the document for alibaba key:  http://config.devsapp.net/account/alibaba
     AccountID 188077086902****
     AccessKeyID LTAI4G4cwJkK4Rza6xd9****
     AccessKeySecret eCc0GxSpzfq1DVspnqqd6nmYNN****
     Please create alias for key pair. If not, please enter to skip default
    
        Alias: default
        AccountID: 188077086902****
        AccessKeyID: LTAI4G4cwJkK4Rza6xd9****
        AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN****
    
    Configuration successful
    您可以在函数计算控制台概览页的常用信息区域查看Account ID和AccessKey ID,如下图所示。fun_config_accesskey
    Serverless Devs同时也支持命令式密钥添加,例如执行以下命令配置阿里云的密钥信息:
    s config add --AccessKeyID LTAI4G4cwJkK4Rza6xd9**** --AccessKeySecret  eCc0GxSpzfq1DVspnqqd6nmYNN**** --AccountID 188077086902**** --access ***
    注意 为了方便管理多种密钥信息,Serverless Devs支持多密钥管理。您在配置密钥时,可以为每个密钥配置别名信息aliasName,即可以在使用时指定某个密钥实现特定功能,例如:
    • 通过密钥进行环境划分,可使用不同的别名绑定不同的账号,然后将资源部署到不同的账号下,例如账号A作为生产,账号B作为预发。
    • 通过对密钥进行权限控制,使不同的密钥拥有不同的权限做不同的工作,例如:
      • 配置别名为website-access密钥,仅用于部署网站。
      • 配置别名为fc-access密钥,仅用于部署函数。

获取密钥信息

参数说明:
  • -a--access:指定别名名称。
  • -h--help:显示帮助信息。
执行以下命令,获取密钥信息:
  • 获取指定别名的密钥信息。例如-a指定目标别名为default:
    s config get -a default
    输出示例:
    default:
      AccountID: 188077086902****
      AccessKeyID: LTAI4FoAC3JPPWKPZDVg****
      AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
  • 获取全部的密钥信息:
    s config get
    输出示例:
    default:
      AccountID: 188077086902****
      AccessKeyID: LTAI4G4cwJkK4Rza6xd9****
      AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN****
    default-1:
      AccountID: 188077086902****
      AccessKeyID: LTAI4FoAC3JPPWKPZDVg****
      AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
说明 您可以执行s config get -h命令获取该命令下的更多信息。

删除密钥信息

参数说明:
  • -a--access:指定别名名称。
  • -h--help:显示帮助信息。
执行以下命令,删除密钥,-a指定别名。
s config delete -a aliasName