本示例介绍如何使用函数计算的版本管理功能管理版本。

版本管理流程

workflow
  1. 准备函数

    当您初次创建一个服务以及该服务下的函数时,该服务的版本号为LATEST。您可以调试LATEST版本下的函数直至版本稳定运行。

  2. 发布版本

    当LATEST版本的服务稳定时,就可以发布该版本的服务,让稳定的版本来服务线上的请求。

  3. 使用别名切换流量

    版本上线后,您可以创建一个别名,设置别名指向该版本。当该版本更新时,只需要将别名指向的版本更改为更新的版本。这样,调用方无需关心服务的具体版本,只需要使用正确的别名即可。如果您的函数下存在触发器,只需要将触发器与别名关联,实现切换版本时不影响触发器的使用。

查看执行函数的版本

在执行函数时,如果需要查看函数运行时的版本或别名,需要在函数中添加以下代码(本文以Node.js语言为例)。
module.exports.handler = function(eventBuf, context, callback) {
    var qualifier = context['service']['qualifier']
    var versionId = context['service']['versionId']
    console.log('Qualifier from context:', qualifier);
    console.log('VersionId from context:', versionId);
    callback(null, null);
};       
其中:
  • qualifier:调用函数时传入的版本信息,可以是版本号,也可以是别名。
  • versionId:函数执行时根据qualifier解析出的具体版本号。