Como configurar as versões do runtime das Funções do Azure

Um aplicativo de função é executado em uma versão específica do tempo de execução do Azure Functions. Por padrão, os aplicativos de função são criados na versão 4.x mais recente do tempo de execução do Functions. As suas aplicações funcionais são suportadas apenas quando são executadas numa versão principal suportada. Este artigo explica como configurar um aplicativo de função no Azure para direcionar ou fixar em uma versão específica quando necessário.

A maneira como você segmenta uma versão específica depende se você está executando o Windows ou Linux. Esta versão do artigo suporta Windows. Escolha o seu sistema operativo na parte superior do artigo.

A maneira como você segmenta uma versão específica depende se você está executando o Windows ou Linux. Esta versão do artigo suporta Linux. Escolha o seu sistema operativo na parte superior do artigo.

Importante

Sempre que possível, execute sempre as suas funções na versão suportada mais recente do tempo de execução do Azure Functions. Você só deve fixar seu aplicativo em uma versão específica se for instruído a fazê-lo devido a um problema com a versão mais recente. Sempre mude para a versão de tempo de execução mais recente assim que suas funções puderem ser executadas corretamente.

Durante o desenvolvimento local, sua versão instalada das Ferramentas Principais do Azure Functions deve corresponder à versão principal do tempo de execução usada pelo aplicativo de função no Azure. Para obter mais informações, consulte Versões das ferramentas principais.

Atualize sua versão de tempo de execução

Quando possível, você sempre deve executar seus aplicativos de função na versão com suporte mais recente do tempo de execução do Azure Functions. Se seu aplicativo de função estiver sendo executado em uma versão mais antiga do tempo de execução, você deverá migrar seu aplicativo para a versão 4.x

Quando seu aplicativo tiver funções existentes, você deve tomar precauções antes de passar para uma versão de tempo de execução principal posterior. Os artigos a seguir detalham as alterações de quebra entre as versões principais, incluindo alterações de quebra específicas do idioma. Eles também fornecem instruções passo a passo para uma migração bem-sucedida do seu aplicativo de função existente.

Para determinar sua versão atual do tempo de execução, consulte Exibir a versão atual do tempo de execução.

Exibir a versão atual do tempo de execução

Você pode exibir a versão atual do tempo de execução do seu aplicativo de função de uma destas maneiras:

Para exibir e atualizar a versão de tempo de execução atualmente usada por um aplicativo de função, siga estas etapas:

  1. No portal do Azure, navegue até seu aplicativo de função.

  2. Expanda Configurações e selecione Configuração.

  3. Na guia Configurações de tempo de execução da função, observe a versão do tempo de execução. Neste exemplo, a versão é definida como ~4.

    Captura de tela que mostra como exibir a versão em tempo de execução.

Fixar em uma versão específica

O Azure Functions permite que você use a configuração do FUNCTIONS_EXTENSION_VERSION aplicativo para direcionar a versão de tempo de execução usada por um determinado aplicativo de função. Se você especificar apenas a versão principal (~4), o aplicativo de função será atualizado automaticamente para novas versões secundárias do tempo de execução à medida que forem disponibilizadas. As atualizações de versões secundárias são feitas automaticamente porque as novas versões secundárias provavelmente não introduzirão alterações que interromperiam suas funções.

Os aplicativos Linux usam a configuração do linuxFxVersion site para FUNCTIONS_EXTENSION_VERSION determinar a imagem base correta do Linux na qual executar suas funções. Quando você cria um novo aplicativo de função no Linux, o tempo de execução escolhe automaticamente a imagem base correta para você com base na versão de tempo de execução da sua pilha de idiomas.

A fixação a uma versão de tempo de execução específica faz com que seu aplicativo de função seja reiniciado.

Quando você especifica uma versão secundária específica (como 4.0.12345) no FUNCTIONS_EXTENSION_VERSION, o aplicativo de função é fixado a essa versão específica do tempo de execução até que você opte explicitamente por voltar para as atualizações automáticas de versão. Você só deve fixar em uma versão secundária específica por tempo suficiente para resolver quaisquer problemas com seu aplicativo de função que o impeçam de segmentar a versão principal. As versões secundárias mais antigas são regularmente removidas do ambiente de produção. Quando seu aplicativo de função é fixado a uma versão secundária que é removida posteriormente, seu aplicativo de função é executado na versão existente mais próxima, em vez da versão definida em FUNCTIONS_EXTENSION_VERSION. As remoções de versões secundárias são anunciadas nos anúncios do Serviço de Aplicativo.

Nota

Quando você tenta publicar do Visual Studio em um aplicativo que está fixado a uma versão secundária específica do tempo de execução, uma caixa de diálogo solicita que você atualize para a versão mais recente ou cancele a publicação. Para evitar essa verificação quando você deve usar uma versão secundária específica, adicione a <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> propriedade em seu .csproj arquivo.

Use um destes métodos para fixar temporariamente seu aplicativo em uma versão específica do tempo de execução:

Para exibir e atualizar a versão de tempo de execução atualmente usada por um aplicativo de função, siga estas etapas:

  1. No portal do Azure, navegue até seu aplicativo de função.

  2. Expanda Configurações e selecione Configuração.

  3. Na guia Configurações de tempo de execução da função, observe a versão do tempo de execução. Neste exemplo, a versão é definida como ~4.

    Captura de tela que mostra como exibir a versão em tempo de execução.

  1. Para fixar seu aplicativo em uma versão secundária específica, no painel esquerdo, expanda Configurações e selecione Variáveis de ambiente.

  2. Na guia Configurações do aplicativo , selecione FUNCTIONS_EXTENSION_VERSION, altere Valor para a versão secundária necessária e selecione Aplicar.

  3. Selecione Aplicar e, em seguida, selecione Confirmar para aplicar as alterações e reiniciar a aplicação.

O aplicativo de função é reiniciado depois que a alteração é feita na configuração do aplicativo.

Para fixar seu aplicativo de função em uma versão de tempo de execução específica no Linux, defina uma URL de imagem base específica da versão na configuração do linuxFxVersion site no formato DOCKER|<PINNED_VERSION_IMAGE_URI>.

Importante

Os aplicativos de função fixa no Linux não recebem atualizações regulares de segurança e funcionalidade do host. A menos que recomendado por um profissional de suporte, use a FUNCTIONS_EXTENSION_VERSION configuração e um valor padrão linuxFxVersion para seu idioma e versão, como Python|3.9. Para valores válidos, consulte o artigo de linuxFxVersion referência.

Atualmente, não há suporte para fixar em um tempo de execução específico para aplicativos de função Linux executados em um plano de consumo.

O exemplo a seguir mostra o linuxFxVersion valor necessário para fixar um aplicativo de função Node.js 16 a uma versão de tempo de execução específica de 4.14.0.3:

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

Quando necessário, um profissional de suporte pode fornecer um URI de imagem base válido para seu aplicativo.

Use os seguintes comandos da CLI do Azure para exibir e definir o linuxFxVersion. No momento, você não pode definir linuxFxVersion no portal ou usando o Azure PowerShell:

  • Para exibir a versão atual do tempo de execução, use o comando az functionapp config show :

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    Neste código, substitua <function_app> pelo nome do seu aplicativo de função. Além disso, substitua <my_resource_group> pelo nome do grupo de recursos do seu aplicativo de função. O valor atual de linuxFxVersion é retornado.

  • Para atualizar a linuxFxVersion configuração no aplicativo de função, use o comando az functionapp config set :

    az functionapp config set --name <FUNCTION_APP> \
    --resource-group <RESOURCE_GROUP> \
    --linux-fx-version <LINUX_FX_VERSION>
    

    Substitua <FUNCTION_APP> pelo nome do seu aplicativo de função. Além disso, substitua <RESOURCE_GROUP> pelo nome do grupo de recursos do seu aplicativo de função. Finalmente, substitua <LINUX_FX_VERSION> pelo valor de uma imagem específica fornecida a você por um profissional de suporte.

Você pode executar esses comandos do Azure Cloud Shell escolhendo Open Cloud Shell nos exemplos de código anteriores. Você também pode usar a CLI do Azure localmente para executar esse comando depois de executar az login para entrar.

O aplicativo de função é reiniciado depois que a alteração é feita na configuração do site.

Próximos passos