Alias 命令

alias 命令是对函数别名操作的命令;主要包括别名的查看、发布、修改、删除等功能。

命令解析

当执行命令alias -h/alias --help时,可以获取帮助文档。

在该命令中,包括了四个子命令:

alias get 命令

alias get 命令,是获取服务指定别名详情的命令。

当执行命令alias get -h/alias get --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml模式下必填Cli模式下必填参数含义
region-选填必填地区,取值范围:cn-hangzhou, cn-beijing, cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1
service-name-选填必填服务名
alias-name-必填必填别名

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s alias get --alias-name aliasName进行指定的别名详情获取;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定服务所在地区以及服务名称,例如s cli fc alias get --region cn-hangzhou --service-name fc-deploy-service --alias-name pre

上述命令的执行结果示例:

fc-deploy-test: 
  aliasName:               pre
  versionId:               1
  description:             test publish version
  additionalVersionWeight: 
  createdTime:             2021-11-08T06:51:36Z
  lastModifiedTime:        2021-11-08T06:54:02Z

alias list 命令

alias list 命令,是进列举别名列表的命令。

当执行命令alias list -h/alias list --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml模式下必填Cli模式下必填参数含义
region-选填必填地区,取值范围:cn-hangzhou, cn-beijing, cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1
service-name-选填必填服务名
table-选填选填是否以表格形式输出

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s alias list获取别名列表;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定服务所在地区以及服务名称,例如s cli fc alias list --region cn-hangzhou --service-name fc-deploy-service

上述命令的执行结果示例:

fc-deploy-test: 
  - 
    aliasName:               pre
    versionId:               1
    description:             test publish version
    additionalVersionWeight: 
    createdTime:             2021-11-08T06:51:36Z
    lastModifiedTime:        2021-11-08T06:54:02Z

如果指定了--table参数,输出示例:

  ┌───────────┬───────────┬──────────────────────┬──────────────────────┬──────────────────────┬─────────────────────────┐
  │ aliasName │ versionId │     description      │     createdTime      │   lastModifiedTime   │ additionalVersionWeight │
  ├───────────┼───────────┼──────────────────────┼──────────────────────┼──────────────────────┼─────────────────────────┤
  │ pre       │ 1         │ test publish version │ 2021-11-08T06:51:36Z │ 2021-11-08T06:54:02Z │                         │
  └───────────┴───────────┴──────────────────────┴──────────────────────┴──────────────────────┴─────────────────────────┘

alias publish 命令

alias publish 命令,是对别名进行发布和更新的命令。

当执行命令alias publish -h/alias publish --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml模式下必填Cli模式下必填参数含义
region-选填必填地区,取值范围:cn-hangzhou, cn-beijing, cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1
service-name-选填必填服务名
description-选填选填别名描述
alias-name-必填必填别名
gversion-选填选填灰度版本Id。灰度版本权重填写时必填
version-id-选填选填版本Id。如果指定 version-id 和 version-latest,则会出现交互选择指定哪个版本
version-latest-选填选填绑定当前服务最新的版本,优先级低于 version-id
weight-选填选填灰度版本权重。灰度版本Id填写时必填

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s alias publish进行版本的发布或者更新;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定服务所在地区以及服务名称,例如 s cli fc alias publish --region cn-hangzhou --service-name fc-deploy-service --alias-name pre --version-id 1

上述命令的执行结果示例:

fc-deploy-test: 
  aliasName:               pre
  versionId:               1
  description:             
  additionalVersionWeight: 
  createdTime:             2021-11-08T06:51:36Z
  lastModifiedTime:        2021-11-08T06:51:36Z

如果需要对别名进行升级,只需要指定别名之后,进行相对应的参数更新,例如针对上述的pre别名,指定--description参数后再次执行上述命令,执行示例:

fc-deploy-test: 
  aliasName:               pre
  versionId:               1
  description:             test publish version
  additionalVersionWeight: 
  createdTime:             2021-11-08T06:51:36Z
  lastModifiedTime:        2021-11-08T06:54:02Z

Publish 主版本获取逻辑

  • 指定 version-id:直接使用指定的 version-id
  • 未指定 version-id,但是指定了 version-latest:获取版本列表,取下标0的版本号(版本列表默认倒序,下标0就是最大的版本号)
  • 未指定 version-id 和 version-latest:获取版本列表,如果仅有一个版本直接使用此版本号;如果是多个版本,那么会产生交互让用户选择

alias rollback 命令

alias rollback 命令,是对指定别名的版本进行回退的命令。

当执行命令alias rollback -h/alias rollback --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml模式下必填Cli模式下必填参数含义
region-选填必填地区,取值范围:cn-hangzhou, cn-beijing, cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1
service-name-选填必填服务名
description-选填选填别名描述
alias-name-必填必填别名。需要是已发布的别名。
version-id-选填选填版本Id。三种形式:1. 指定 version-id; 2. 使用HEAD^^形式,如:HEAD^表示回退到上一个版本,HEAD^^表示回退到上上一个版本,以此类推;3. 使用HEAD~数字形式,如:HEAD~1表示回退到上一个版本,HEAD~2表示回退到上上一个版本
gversion-选填选填灰度版本Id。灰度版本权重填写时必填
weight-选填选填灰度版本权重。灰度版本Id填写时必填

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s alias rollback进行指定别名的版本回退;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定服务所在地区以及服务名称,例如 s cli fc alias rollback --region cn-hangzhou --service-name fc-deploy-service --alias-name pre --version-id 1
  1. 执行s version list查看版本列表:
  - 
    versionId:        6
    description:      
    createdTime:      2022-07-02T01:53:02Z
    lastModifiedTime: 2022-07-02T01:53:02Z
  - 
    versionId:        4
    description:      
    createdTime:      2022-06-27T12:30:35Z
    lastModifiedTime: 2022-06-27T12:30:35Z
  - 
    versionId:        3
    description:      
    createdTime:      2022-06-27T11:41:50Z
    lastModifiedTime: 2022-06-27T11:41:50Z
  - 
    versionId:        1
    description:      
    createdTime:      2022-06-25T04:09:04Z
    lastModifiedTime: 2022-06-25T04:09:04Z
  1. 执行s alias list查看别名列表:
  - 
    aliasName:               test1
    versionId:               6
    description:             
    additionalVersionWeight: 
    createdTime:             2022-06-25T04:10:26Z
    lastModifiedTime:        2022-07-02T08:38:22Z
  1. 执行s alias rollback --alias-name test1 --version-id HEAD^^,将test1回退到上上个版本,查看别名test1的详情:
  aliasName:               test1
  versionId:               3
  description:             
  additionalVersionWeight: 
  createdTime:             2022-06-25T04:10:26Z
  lastModifiedTime:        2022-07-02T08:47:46Z

权限与策略说明

  • alias listalias get 命令所需要的权限策略: AliyunFCReadOnlyAccess

  • alias publish 命令所需要的权限策略:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "fc:CreateAlias",
                    "fc:UpdateAlias"
                ],
                "Effect": "Allow",
                "Resource": "acs:fc:<region>:<account-id>:services/<serviceName>/aliases/*"
            }
        ]
    }
    
在 GitHub 上编辑本页面 更新时间: Wed, Sep 21, 2022