Todos os produtos
Search
Central de documentação

Function Compute:Implemente liberações canário com versões e aliases

Última atualização: Jun 29, 2026

Você pode publicar uma ou mais versões de uma função. A cada publicação, o Function Compute cria um snapshot imutável do código e da configuração com um número de versão exclusivo. Também é possível criar um alias, que atua como um ponteiro para uma versão específica. O uso conjunto de versões e aliases facilita o gerenciamento de implantações, a realização de rollbacks e a implementação de liberações canário.

Fluxo de trabalho de liberação canário

Pré-requisitos

Etapa 1: Preparar e testar a função

Ao criar uma função, a versão inicial é LATEST. Desenvolva e teste a função na versão LATEST até que ela esteja estável. Você pode invocar a versão LATEST da função diretamente no console.

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Functions.

  2. Na barra de navegação superior, selecione uma região. Na página Functions, clique em a função de destino.

  3. Na página de detalhes da função, clique em a aba Code.

  4. No editor de código, atualize o código para visualizar a versão da função. Clique em Deploy e, em seguida, clique em Test Function.

    Os exemplos de código a seguir mostram como visualizar a versão da função.

    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";
            }
        }
    }

    Após a conclusão da execução, visualize a saída de log. O log mostra que o campo qualifier tem o valor LATEST, o que indica que a versão LATEST da função foi executada.

Etapa 2: Publicar e testar uma versão

Quando a versão LATEST da função estiver estável, publique-a para atender ao tráfego de produção. Para obter mais informações, consulte Publicar uma versão.

Após publicar uma nova versão, invoque-a no console.

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Functions.

  2. Na barra de navegação superior, selecione uma região. Na página Functions, clique em a função de destino.

  3. Na página de detalhes da função, clique em a aba Version Management e, em seguida, clique em a versão de destino.

  4. Na página de detalhes da versão de destino, clique em a aba Code e, depois, clique em Test Function.

    Após a conclusão da execução, visualize o log de execução. A saída do log mostra que o qualifier é 1 e o versionId resolvido é 1, o que indica que a versão 1 da função foi executada.

Etapa 3: Usar um alias para alternar o tráfego

Após implantar uma nova versão, crie um alias que aponte para ela. Ao atualizar a função, modifique o alias para apontar para a nova versão. Isso permite que os chamadores usem um alias fixo sem precisar rastrear números de versão. Para obter instruções sobre como criar um alias, consulte Criar um alias.

Depois de criar o alias, verifique no console se a versão correta da função está sendo invocada.

Neste exemplo, o alias alias1 aponta para a versão 1.

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Functions.

  2. Na barra de navegação superior, selecione uma região. Na página Functions, clique em a função de destino.

  3. Na página de detalhes da função, clique em a aba Alias Management e, em seguida, clique em o alias de destino.

  4. Na página de detalhes do alias de destino, clique em a aba Test e, depois, clique em Test Function.

    Após a conclusão da execução, visualize a saída de log. A saída mostra que o qualifier é alias1 e o versionId resolvido é 1. Isso indica que a função foi executada usando o alias alias1, que aponta para a versão 1.

Após desenvolver uma nova versão, utilize uma liberação canário para garantir uma liberação estável.

Nota

A publicação de uma nova versão só é possível se o código ou a configuração da função tiver sido alterado desde a última publicação.

  1. Publique uma nova versão 2. Para obter mais informações, consulte Publicar uma versão.

    Após a publicação, visualize a nova versão na lista de versões.

  2. Na página de detalhes da função, clique em a aba Alias. Na coluna Actions do alias de destino, clique em Modify.

  3. No painel Modify Alias, defina a nova versão 2 como a Canary Release Version, configure o Canary Release Version Weight e clique em OK.

    Após verificar que a versão canário está estável, realize uma alternância completa para rotear todo o tráfego para a versão 2.

Perguntas frequentes

Confirmação da versão da função invocada

Ao utilizar o recurso de liberação canário, o Function Compute aloca o tráfego conforme os pesos especificados. Identifique a versão da função invocada das seguintes maneiras:

  • Por meio do parâmetro de entrada context

    Em cada invocação de função, o parâmetro de entrada context inclui os campos qualifier e versionId.

    • qualifier: A versão ou alias da função a ser invocada.

    • versionId: O número específico da versão resolvido a partir do qualifier durante a execução da função.

  • Pela resposta de uma invocação síncrona da função

    A resposta de uma invocação síncrona inclui o cabeçalho x-fc-invocation-function-version, que especifica a versão da função invocada.

Referências

Para obter mais informações sobre a publicação de versões de funções e a configuração de aliases, consulte Gerencie versões e Gerencie aliases.