别名 alias
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:02Zalias 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 填写时必填 |
| resolve-policy | - | 选填 | 选填 | 灰度方式。取值如下:Random:随机灰度,为默认值。Content:规则灰度。 |
| route-policy | - | 选填 | 选填 | 灰度规则。满足灰度规则条件的流量,会被路由至灰度实例。查看更多 |
当前命令还支持部分全局参数(例如
-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如果指定规则灰度,执行命令 s alias publish --alias-name pre --version-id 1 --gversion 2 --route-policy '{"policyItems":[{"type":"Param","value":"2","Key":"test","operator":"="}],"condition":"AND"}';可以跳转更详细的学习视屏
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;
- 执行
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- 执行
s alias list查看别名列表:
- aliasName: test1 versionId: 6 description: additionalVersionWeight: createdTime: 2022-06-25T04:10:26Z lastModifiedTime: 2022-07-02T08:38:22Z- 执行
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 list与alias get命令所需要的权限策略:AliyunFCReadOnlyAccess -
alias publish命令所需要的权限策略:{'Version': '1','Statement':[{'Action': ['fc:CreateAlias', 'fc:UpdateAlias'],'Effect': 'Allow','Resource': 'acs:fc:<region>:<account-id>:services/<serviceName>/aliases/*',},],}