Partilhar via


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ó são suportadas quando 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

Quando possível, você sempre deve executar suas funções na versão com suporte mais recente do tempo de execução do Azure Functions. Você só deve fixar seu aplicativo em uma versão específica quando instruído a fazê-lo devido a um problema na versão mais recente. Você deve sempre mudar 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 de 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:

Use o procedimento a seguir para exibir e atualizar a versão de tempo de execução atualmente usada por um aplicativo de função.

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

  2. Em Configurações, escolha Configuração. Na guia Configurações de tempo de execução da função, localize a versão do tempo de execução. Observe a versão específica do tempo de execução. No exemplo abaixo, a versão é definida como ~4.

    Screenshot showing how to view the runtime version.

Afixar a 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. Quando você especifica apenas a versão principal (~4), o aplicativo de função é atualizado automaticamente para novas versões secundárias do tempo de execução quando elas ficam disponíveis. As atualizações de versões secundárias são feitas automaticamente porque as novas versões secundárias não devem introduzir alterações de quebra.

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 funcionalidade 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. 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 você é fixado em uma versão secundária que é removida, 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:

Use o procedimento a seguir para exibir e atualizar a versão de tempo de execução atualmente usada por um aplicativo de função.

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

  2. Em Configurações, escolha Configuração. Na guia Configurações de tempo de execução da função, localize a versão do tempo de execução. Observe a versão específica do tempo de execução. No exemplo abaixo, a versão é definida como ~4.

    Screenshot showing how to view the runtime version.

  1. Para fixar seu aplicativo em uma versão secundária específica, selecione Configurações do aplicativo>FUNCTIONS_EXTENSION_VERSION, altere Valor para sua versão secundária necessária e selecione OK.

  2. Selecione Salvar>Continuar para aplicar as alterações e reiniciar o aplicativo.

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.

A seguir está um exemplo do valor necessário para fixar um aplicativo de linuxFxVersion 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, não é possível definir linuxFxVersion no portal ou usando o Azure PowerShell.

  • Para exibir a versão atual do tempo de execução, use com 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. Substitua <my_resource_group> também 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. Substitua <RESOURCE_GROUP> também 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