Alias 命令

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

命令解析

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

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

alias get 命令

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

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

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
function-name-选填必填函数名
alias-name-必填必填别名

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

操作案例

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

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

fc3-deploy-test:
  aliasName:        pre
  createdTime:      2023-09-25T08:00:29Z
  description:
  lastModifiedTime: 2023-09-25T08:00:29Z
  versionId:        1

alias list 命令

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

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

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
function-name-选填必填函数名
table-选填选填以表格形式输出

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

操作案例

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

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

fc3-deploy-test:
  -
    aliasName:        pre
    createdTime:      2023-09-25T08:00:29Z
    description:
    lastModifiedTime: 2023-09-25T08:00:29Z
    versionId:        1

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

aliasNameversionIddescriptionadditionalVersionWeight
pre1

alias publish 命令

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

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

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
function-name-选填必填函数名
description-选填选填别名描述
alias-name-必填必填别名
version-id-选填选填版本 Id, 可以使用 latest 使用最新的 version
additional-version-weight-选填选填灰度版本权重。灰度版本 Id 填写时必填, 示例 "{\"2\":0.2}"

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

操作案例

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

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

fc3-deploy-test:
  aliasName:               pre
  versionId:               1
  description:
  createdTime:             2023-09-25T08:00:29Z
  lastModifiedTime:        2023-09-25T08:00:29Z

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

fc3-deploy-test:
  aliasName:               pre
  versionId:               1
  description:             test publish version
  createdTime:             2023-09-25T08:00:29Z
  lastModifiedTime:        2023-09-25T08:00:29Z

Publish 主版本获取逻辑

  • 指定 version-id:直接使用指定的 version-id
  • 未指定 version-id,但是指定了 latest:获取版本列表,取下标 0 的版本号(版本列表默认倒序,下标 0 就是最大的版本号)

alias remove 命令

alias remove 命令,是用户删除指定别名。

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

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
function-name-选填必填函数名
alias-name-必填必填别名
assume-yesy选填选填在交互时,默认选择y

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

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s remove alias --alias-name aliasName删除指定别名;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区以及函数名称,例如s cli fc3 alias remove --region cn-hangzhou --function-name test-function --alias-name pre

权限与策略说明

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

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

    {
      "Version": "1",
      "Statement": [
        {
          "Action": ["fc:CreateAlias", "fc:UpdateAlias"],
          "Effect": "Allow",
          "Resource": "acs:fc:{region}:{uid}:functions/{functionName}/aliases/*"
        }
      ]
    }
    
  • alias remove 命令所需要的权限策略: AliyunFCReadOnlyAccess

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "fc:DeleteFunctionAlias",
          "Effect": "Allow",
          "Resource": "acs:fc:{region}:{uid}:functions/{functionName}/aliases/*"
        }
      ]
    }
    
在 GitHub 上编辑本页面 更新时间: Thu, Feb 22, 2024