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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介:

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

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.     触发函数时只需要在请求路径服务名称后带”.”分隔符和版本/别名的后缀即可

 

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


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
3月前
|
消息中间件 JavaScript 中间件
函数计算产品使用问题之WebIDE编写的Node.js代码是否会自动进行打包部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
存储 运维 Serverless
函数计算产品使用问题之如何解决代码需要多个gpu的问题
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
8天前
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
|
3月前
|
存储 运维 Serverless
函数计算产品使用问题之代码上传记录如何查看
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
JavaScript NoSQL Serverless
函数计算产品使用问题之如何创建一个自定义运行时并指定Node.js版本
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
缓存 运维 Java
函数计算产品使用问题之如何在函数代码的根目录中执行命令
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
存储 固态存储 Serverless
函数计算操作报错合集之创建云函数并设置代码从Bucket获取时,返回403错误,该如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
缓存 Serverless API
函数计算产品使用问题之没有s.yaml文件,修改代码如何重新部署
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
缓存 JavaScript Serverless
阿里云云效产品使用合集之如何在Serverless Devs阶段指定Node.js版本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
关系型数据库 Serverless 分布式数据库
体验Serverless版本,
体验Serverless版本,
39 0

热门文章

最新文章

相关产品

  • 函数计算