您需要创建服务及函数,并调试函数确保函数能稳定执行,为发布版本做准备。本文介绍如何通过函数计算控制台或API调用LATEST版本下的函数。

前提条件

  1. 创建服务
  2. 创建函数

本示例创建的服务名称为service,创建的函数名称为function。

通过控制台执行LATEST版本下的函数

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击服务/函数
  4. 找到目标服务service下的目标函数function,单击函数名称。
  5. 单击代码执行页签,在您的函数代码中添加查看函数版本的代码。
    查看函数版本的代码示例如下。
    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, qualifier);
    };
    # -*- coding: utf-8 -*-
    
    def handler(event, context):
      qualifier = context.service.qualifier
      versionId = context.service.version_id
      print('Qualifier from context:' + qualifier)
      print('VersionId from context:' + versionId)
      return 'hello world'
    <?php
    function handler($event, $context) {
      $qualifier = $context["service"]["qualifier"];
      $versionId = $context["service"]["versionId"];
      print($qualifier);
      print($versionId);
      
    	return "hello world";
    }
    
    using System;
    using System.IO;
    using Aliyun.Serverless.Core;
    using Microsoft.Extensions.Logging;
    
    namespace Desktop
    {
    
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
            }
        }
    
        class App
        {
            public string Handler(Stream input, IFcContext context)
            {
                ILogger logger = context.Logger;
                var qualifier = context.ServiceMeta.Qualifier;
                var versionId = context.ServiceMeta.VersionId;
                logger.LogInformation("Qualifier from context: {0}", qualifier);
                logger.LogInformation("versionId from context: {0}", versionId);
                return "hello word";
            }
        }
    }

  6. 单击执行
    执行完成后,在页面底部可以查看执行日志。从日志中可以看到表示版本信息的字段qualifier的值为LATEST,即本次执行的函数为LATEST版本下的函数。log-version

通过API调用LATEST版本下的函数

API 定义 API调用LATEST版本有以下两种情况:

  • 未使用版本管理时调用LATEST版本的函数

    当没有指定版本信息时,会默认调用LATEST版本下的函数。请求格式如下:

    POST /services/{serviceName}/functions/{functionName}/invocations                   
    本文的请求示例如下:
    POST /services/{service}/functions/{function}/invocations                   
  • 指定版本后缀调用LATEST版本下的函数
    通过在request path的serviceName后加.LATEST后缀来指定调用LATEST版本下的函数。请求格式如下所示:
    POST /services/{serviceName}.LATEST/functions/{functionName}/invocations                       
    本文的请求示例如下:
    POST /services/{service}.LATEST/functions/{function}/invocations                       

后续步骤

  1. 发布版本
  2. 使用别名切换流量