你还在生产环境改代码么?函数计算版本管理(一)版本和别名简介

本文涉及的产品
简介:

在使用阿里云函数计算的过程中,您是否有过以下的疑虑:

1.     每次想要更改函数时,担心会破坏当前的线上环境?

2.     新做的改动上线后有点问题,想要回滚到改动之前的样子?

3.     想把生产环境的代码与开发中的代码分开?

如果回答是有,表示您应该使用阿里云函数计算最新推出的版本管理功能了~


本系列文章将分章节介绍版本管理功能的使用方法。首先介绍两个概念“版本”和“别名”:

 

版本(Versions):

函数计算提供服务级别的版本控制,版本相当于服务的快照,包括服务的配置、服务内的函数代码及配置。当您发布版本时,函数计算会为服务生成快照,并自动分配一个版本号与其关联,以供后续使用。版本号从1开始单调递增,不会被重复使用。

版本

 

以控制台为例,在您的服务页面点击“操作”,选择“发布版本”,就可以发布一个新版本了。

发布新版本

注意,只有当您在“LATEST”版本下时才可以发布新版本。这是函数计算为您生成的默认版本,是您编辑服务、更改函数的地方。当您发布新版本时,函数计算会将“LATEST”版本中的内容进行快照,发布一个新版本,发布后的版本是不能更改的。您可以在控制台上查看您所有发布的版本。

在没使用版本的情况下,您每次在服务上的改动都会立刻影响到生产环境,无法控制发布的时机。使用版本后,您可以在测试稳定后发布服务版本,用稳定的版本来服务线上请求,并且可以继续在“LATEST”版本上进行开发。

 


别名(Aliases):

别名可以理解为指向特定服务版本的指针,使用别名访问服务或函数时,函数计算会将别名解析为其指向的版本。别名可以更改,您可以用PRODTEST别名分别指向不同的版本,和您产品整体的开发测试结合起来。

 

别名

 以控制台为例,在您选中的服务版本下,点击“操作”,选择“创建别名”,就可以创建一个别名了。

创建别名

别名能进一步帮助您的发布流程。假设您有别名PROD指向稳定的版本1,并在“LATEST”上开发了新功能并发布新版本2后,只需要更新别名PROD指向版本2,就可以完成版本的更新迭代。

 


触发指定版本下的函数 

有了版本和别名,该如何触发不同版本下的函数呢?以InvokeFunction API为例,您只需要在request pathserviceName后加分隔符“.”,并用“qualifier”指定您需要的版本或者别名即可:

InvokeFunction Path format:

POST /services/{serviceName}.{qualifier}/functions/{functionName}/invocations

 例如:

  • POST /services/mySerivce.1/functions/myFunction/invocations

是调用myService服务版本1下的myFunction函数

  • POST /services/mySerivce.prod/functions/myFunction/invocations

是调用myService服务别名prod下的myFunction函数,函数计算会在运行时将别名prod解析为其指向的具体版本。

   


有了“版本”和“别名”,我们就可以将开发不同阶段的环境隔离开来,并通过传参调用想要的版本。让我们再回顾一下:

1.     版本是服务的快照,发布后不能更改

2.     别名是指向版本的指针,运行时会被解析为具体的版本

3.     触发函数时只需要在请求路径服务名称后带”.”分隔符和版本/别名的后缀即可

 

更多版本管理的高级用法和最佳实践,会陆续发布文章来介绍,敬请关注!


相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
4天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,在response.send()之后继续执行其它代码如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
181 0
|
4天前
|
弹性计算 JSON 运维
Serverless 应用引擎产品使用之阿里云serverless的s deploy,本地的代码编译后的镜像无法推送上去如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
63 0
|
4天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
4天前
|
弹性计算 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之阿里函数计算中{"ErrorCode":"AccessDenied","ErrorMessage":"Current user is in debt."}出现这个代码如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 1
|
4天前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
260 0
|
4天前
|
人工智能 弹性计算 Serverless
函数计算 3.0 版本升级
【4月更文挑战第2天】函数计算 3.0 版本升级
13 2
|
4天前
|
监控 Serverless 对象存储
Serverless 应用引擎常见问题之代码和普通版本不一样如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
26 1
|
4天前
|
存储 监控 Serverless
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况【1月更文挑战第23天】【1月更文挑战第114篇】
65 5
|
4天前
|
机器学习/深度学习 前端开发 Serverless
函数计算里我想知道模版里面的stable-diffusion是什么版本的?
函数计算里我想知道模版里面的stable-diffusion是什么版本的?
101 1
|
4天前
|
存储 安全 Serverless
在函数计算中,当您通过应用关联到 Gitee 仓库并部署代码时
在函数计算中,当您通过应用关联到 Gitee 仓库并部署代码时
367 6

热门文章

最新文章

相关产品

  • 函数计算
  • http://www.vxiaotou.com