Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode usar várias tecnologias diferentes para implantar seu código de projeto Azure Functions para Azure. Este artigo fornece uma visão geral dos métodos de implantação disponíveis e recomendações do melhor método a ser usado em vários cenários. Ele também fornece uma lista abrangente e detalhes importantes sobre as tecnologias de implantação subjacentes.
Métodos de implantação
A tecnologia de implantação que você usa para publicar código em seu aplicativo de funções no Azure depende de suas necessidades específicas e do ponto no ciclo de desenvolvimento. Por exemplo, durante o desenvolvimento e teste, você pode implantar diretamente de sua ferramenta de desenvolvimento, como Visual Studio Code. Quando seu aplicativo está em produção, é mais provável que você publique continuamente do controle do código-fonte ou usando um pipeline de publicação automatizado, o que pode incluir validação e testes.
A tabela a seguir descreve os métodos de implantação disponíveis para o seu projeto de código.
| Tipo de implantação | Métodos | Mais adequado para... |
|---|---|---|
| Baseado em ferramentas |
CLI do Azure Publicação no Visual Studio Code Visual Studio publish Publicação do Core Tools |
Implantações durante o desenvolvimento e outras implantações improvisadas. Implantando seu código sob demanda usando ferramentas de desenvolvimento locais. |
| Gerenciado pela plataforma |
Centro de Implantação (CI/CD) Implantações de contêineres |
Implantação contínua (CI/CD) do controle do código-fonte ou de um registro de contêiner. A plataforma de hospedagem gerencia implantações. |
| Pipelines externos |
Azure Pipelines Ações do GitHub |
Pipelines de produção que incluem validação, testes e outras ações que devem ser executadas como parte de uma implantação automatizada. O pipeline gerencia as implantações. |
Use a melhor tecnologia para seu cenário específico. Para os planos de hospedagem compatíveis, muitos dos métodos de implantação utilizam implantação por ZIP.
Disponibilidade de tecnologia de implantação
O método de implantação também depende do plano de hospedagem e do sistema operacional no qual você executa seu aplicativo de funções.
Atualmente, o Functions oferece cinco opções para hospedar seus aplicativos de funções:
- Plano de Consumo Flexível
- Plano Elastic Premium
- Plano dedicado (Serviço de Aplicativo)
- Aplicativos de Contêiner do Azure
- Plano de consumo (herdado)
Cada plano tem comportamentos diferentes. Nem todas as tecnologias de implantação estão disponíveis para cada plano de hospedagem e sistema operacional. Esse gráfico fornece informações sobre as tecnologias de implantação com suporte:
| Tecnologia de implantação | Consumo Flexível | Consumo | Elástico Premium | Dedicado | Aplicativos de Contêiner |
|---|---|---|---|---|---|
| Implantação do pacote Flex Consumption | Supported | Sem suporte | Sem suporte | Sem suporte | Sem suporte |
| Implantação do ZIP | Sem suporte | Supported | Supported | Supported | Sem suporte |
| URL do pacote externo1 | Sem suporte | Supported | Supported | Supported | Sem suporte |
| Imagem do contêiner (Docker) | Sem suporte | Somente Linux | Somente Linux | Somente Linux | Supported |
| Controle do código-fonte | Sem suporte | somente Windows | Supported | Supported | Sem suporte |
| Git1 local | Sem suporte | somente Windows | Supported | Supported | Sem suporte |
| FTPS1 | Sem suporte | somente Windows | Supported | Supported | Sem suporte |
| Edição no portal2 | Sem suporte | Supported | Supported | Supported | Sem suporte |
- Tecnologias de implantação que exigem sincronizar gatilhos manualmente não são recomendadas.
- A edição dentro do portal é desativada quando o código é implantado no seu app de funções a partir de fora do portal. Para obter mais informações, incluindo detalhes de suporte a idiomas para edição no portal, consulte Detalhes de suporte a idiomas.
Selecione seu plano de hospedagem no topo deste artigo para visualizar as tecnologias e comportamentos de implantação que se aplicam ao seu aplicativo funcional.
Principais conceitos
Alguns dos principais conceitos são fundamentais para entender como as implantações funcionam em Azure Functions.
Armazenamento de conteúdo do aplicativo por plano de hospedagem
A localização do conteúdo do aplicativo implantado depende do plano de hospedagem e da tecnologia de implantação:
| Plano de hospedagem | Armazenamento de conteúdo do aplicativo |
|---|---|
| Consumo Flexível | Um contêiner de implantação de blobs que você configura para o aplicativo de funções. |
| Consumo, Prêmio Elástico e Dedicado | O sistema de arquivos do aplicativo, um compartilhamento de conteúdo do Arquivos do Azure ou uma URL de pacote externo, dependendo da tecnologia de implantação. |
| Aplicativos de Contêiner do Azure | Uma imagem de contêiner armazenada em um registro de contêineres. |
Sincronização de gatilho
Quando uma implantação adiciona, remove ou altera uma função ou sua configuração de gatilho, a infraestrutura de Funções deve atualizar os metadados do gatilho para o app de funções. Essa sincronização ocorre automaticamente para muitas tecnologias de implantação. No entanto, em alguns casos, você deve sincronizar seus gatilhos manualmente.
Você sempre deve sincronizar gatilhos manualmente ao usar estas opções de implantação:
Você pode sincronizar gatilhos manualmente de uma destas maneiras:
Reinicie seu aplicativo de funções no portal Azure. O host do Functions realiza uma sincronização de gatilhos em segundo plano após o início do aplicativo.
Use o comando
az restpara enviar uma solicitação HTTP POST que chama a APIsyncfunctiontriggers, como neste exemplo:az rest --method post --url https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<APP_NAME>/syncfunctiontriggers?api-version=2016-08-01
Tenha estas considerações em mente para a operação de gatilhos de sincronização:
- Você deve reiniciar manualmente o aplicativo de funções sempre que implantar uma versão atualizada do pacote de implantação usando a mesma URL de pacote externo.
- Para aplicativos executados em um plano Consumption ou Elastic Premium, você também deve sincronizar manualmente os gatilhos nestes cenários:
- Quando as implantações usam um URL de pacote externo com uma implantação baseada em gerenciador de recursos, utilizando modelos ARM, arquivos Bicep ou Terraform.
- Quando você atualiza o pacote de implantação in-place usando a mesma URL de pacote.
- Ao adicionar restrições de rede a um aplicativo de funções existente, você deve garantir a conectividade com a conta de armazenamento de host padrão definida na configuração do
AzureWebJobsStorageaplicativo. Para obter mais informações, consulte Como usar uma conta de armazenamento protegida com Azure Functions.
Build remoto
Você pode solicitar Azure Functions para executar um build remoto do seu projeto de código durante a implantação. Nesses cenários, solicite uma construção remota ao invés de montar localmente:
- Você está implantando um aplicativo em um aplicativo de funções baseado em Linux que você desenvolveu em um computador Windows. Essa situação geralmente é o caso para Python desenvolvimento de aplicativos. Você pode acabar com bibliotecas incorretas ao criar o pacote de implantação localmente em Windows.
- Seu projeto tem dependências em um índice de pacotes personalizado.
- Você quer reduzir o tamanho do seu pacote de implantação.
A forma como você solicita um build remoto depende se seu aplicativo é executado em Azure em Windows ou Linux.
Todos os aplicativos de função em execução no Windows têm um site de implantação associado. Esse site manipula grande parte da implantação e da lógica de build do Azure Functions.
Quando você implanta um aplicativo para Windows, o processo de implantação executa comandos específicos da linguagem, como dotnet restore (C#) ou npm install (JavaScript).
As considerações a seguir se aplicam ao uso de builds remotos durante a implantação:
- Há suporte para builds remotos para aplicativos de funções em execução no Linux no plano de Consumo. No entanto, as opções de implantação para esses aplicativos são limitadas, pois eles não têm um site complementar de implantação.
- Aplicativos de função executados no Linux em um plano Elastic Premium ou em um plano Dedicado (App Service) têm um site de implantação complementar, mas ele é mais limitado do que no Windows.
- Não configure
WEBSITE_RUN_FROM_PACKAGEquando solicitar uma build remota. Para Linux Consumption, Elastic Premium e aplicativos de plano dedicado, em vez disso, ative a build remota usando as configurações de implantação descritas na aba Linux . O processo de implantação pode embalar a saída da build e configurar o app para rodar a partir desse pacote. - Você pode ter problemas com o build remoto quando seu aplicativo foi criado antes do recurso ser disponibilizado (1º de agosto de 2019). Para aplicativos mais antigos, crie um novo aplicativo de funções ou execute
az functionapp update --resource-group <RESOURCE_GROUP_NAME> --name <APP_NAME>para atualizar seu aplicativo de funções. Esse comando pode precisar de suas tentativas para ter êxito.
Build remoto
Para Flex Consumption, você solicita uma build remota passando um parâmetro de build remota ao iniciar a implantação. Você não configura a build remota usando as configurações do aplicativo. Para Core Tools e Visual Studio Code, sempre é solicitado um build remoto quando você implanta um aplicativo Python. Para obter mais informações, consulte Implantação.
Armazenamento de conteúdo do aplicativo
O Flex Consumption armazena o pacote atual no contêiner de armazenamento de implantação configurado. Por padrão, esse contêiner está na mesma conta usada por AzureWebJobsStorage, mas você pode configurar uma conta de armazenamento de implantação diferente.
Importante
A conta de armazenamento é usada para armazenar dados importantes do aplicativo, às vezes incluindo o próprio código do aplicativo. Você deve limitar o acesso de outros aplicativos e usuários à conta de armazenamento.
Armazenamento de conteúdo do aplicativo
Dependendo da tecnologia de implantação, o conteúdo do seu app pode ser armazenado no sistema de arquivos do app, em um compartilhamento de conteúdo do Arquivos do Azure ou em uma URL externa de pacote. Revise onde o conteúdo do aplicativo está armazenado para cada tecnologia de implantação na próxima seção.
Importante
A conta de armazenamento é usada para armazenar dados importantes do aplicativo, às vezes incluindo o próprio código do aplicativo. Você deve limitar o acesso de outros aplicativos e usuários à conta de armazenamento.
Redes virtuais protegidas
Quando seu aplicativo de funções tem endpoints privados ativados e o acesso à rede pública está desativado, o endpoint de implantação não é acessível publicamente. Ferramentas de implantação push, incluindo Core Tools, Visual Studio Code, CLI do Azure, GitHub Actions e Azure Pipelines, enviam pacotes para esse endpoint. A máquina, runner ou agente que realiza a implantação deve ter tanto conectividade de rede quanto resolução DNS para o endpoint privado de implantação.
Você pode fornecer essa conectividade das seguintes formas:
- Para Azure Pipelines, use um agente autohospedado em uma rede conectada ou configure um pool gerenciado de agentes DevOps com rede.
- Para GitHub Actions, use um runner autohospedado em uma rede conectada ou configure um runner hospedado no GitHub com rede privada do Azure.
- Conecte sua máquina de desenvolvimento usando uma VPN ponto a site, VPN site-to-site ou ExpressRoute.
O recurso de implantação pode estar localizado na mesma rede virtual ou em uma rede que tenha conectividade de roteamento e DNS com o ponto de extremidade privado, como uma rede virtual emparelhada.
Implantações de pacotes baseadas no Resource Manager não empurram o pacote do cliente inicial para o endpoint de implantação. Em vez disso, o serviço de implantação recupera o pacote a partir da URL fornecida no recurso de implantação. A URL do pacote e o armazenamento de implantação devem ser acessíveis ao serviço de implantação. Para Flex Consumption, veja Implantar usando Bicep ou um template do Azure Resource Manager.
Para obter mais informações sobre como configurar seu aplicativo de funções em uma rede virtual, consulte Como configurar Azure Functions com uma rede virtual.
Armazenamento e rede de conteúdo de aplicativos
Azure Functions no Aplicativos de Contêiner do Azure implanta seu aplicativo como uma imagem de contêiner. A imagem é armazenada em um registro de contêineres, e a rede é gerenciada pelo ambiente Container Apps. Para mais informações, consulte Visão geral do Azure Functions nos Aplicativos de Contêiner do Azure e Rede nos Aplicativos de Contêiner do Azure.
Comportamento de implantação pelo plano de hospedagem
Os seguintes métodos de implantação se aplicam ao seu plano de hospedagem selecionado. Para comparar tecnologias em todos os planos, veja a tabela de disponibilidade de tecnologia de implantação .
Implantação do pacote Flex Consumption
A implantação de pacotes é a única tecnologia de implantação de código suportada para aplicativos em um plano Flex Consumption. O processo de implantação armazena um pacote .zip pronto para rodar no contêiner de implantação do app, e o app de funções roda diretamente a partir desse pacote.
Como usá-lo: Implantar usando o recurso de publicação do Visual Studio Code, ou a partir da linha de comando usando o Azure Functions Core Tools ou o CLI do Azure. A tarefa do Azure DevOps e a ação do GitHub também selecionam o comportamento correto de implantação de pacotes quando detectam um aplicativo Flex Consumption.
Ao criar um aplicativo Flex Consumption, é necessário especificar um contêiner de armazenamento de implantação (blob) e um método de autenticação para ele. Por padrão, é usada a mesma conta de armazenamento da conexão
AzureWebJobsStorage, com uma cadeia de conexão como método de autenticação. Assim, suas definições de implantação são configuradas durante a criação do aplicativo sem a necessidade de configurações de aplicativo.
Quando usar: Use a implantação por pacote para todas as implantações de código no Flex Consumption. Nenhuma outra tecnologia de implantação de código é suportada.
Onde o conteúdo do aplicativo é armazenado: Quando você cria um aplicativo de funções de Consumo Flex, você especifica um contêiner de armazenamento de implantação. O serviço de implantação armazena o pacote processado e pronto para execução nesse contêiner. As ferramentas de implantação push primeiro enviam o pacote de origem para o endpoint de implantação do app; elas não fazem upload diretamente para o contêiner de implantação. Para mudar o local de armazenamento, abra a página de configurações de implantação no portal do Azure ou use a linha de comando do CLI do Azure.
A API subjacente da plataforma às vezes é identificada como OneDeploy. Definições de infraestrutura como código expõem essa implementação por meio do nome literal /onedeploy do recurso. Você não precisa selecionar ou configurar essa API ao implantar usando ferramentas de desenvolvimento suportadas ou provedores CI/CD.
Dica
Uma ferramenta de diagnóstico Flex Consumption Deployment está disponível no portal Azure. Abra o aplicativo Flex Consumption, selecione Diagnosticar e resolver problemas e faça uma pesquisa em Flex Consumption Deployment. Essa ferramenta exibe informações detalhadas sobre suas implantações, incluindo histórico de implantação, status do pacote e recomendações de solução de problemas.
Implantação do ZIP
A implantação do ZIP é a tecnologia padrão e recomendada para aplicativos de função nos planos Consumption, Elastic Premium e Dedicated (App Service). O resultado final será um pacote .zip pronto para execução no qual seu aplicativo de funções será executado. Ela difere da URL do pacote externo , pois a plataforma é responsável por compilar remotamente e armazenar o conteúdo do aplicativo.
Como usá-lo: Implante usando sua ferramenta cliente preferida: Visual Studio Code, Visual Studio, ou pela linha de comando usando o Azure Functions Core Tools ou o CLI do Azure. A tarefa do Azure DevOps e a ação do GitHub também usam implantação por ZIP.
Quando você usa a implantação ZIP, pode configurar seu aplicativo para executar a partir do pacote. Para executar a partir do pacote, defina o valor de configuração do aplicativo
WEBSITE_RUN_FROM_PACKAGEcomo1. Recomendamos a implantação do ZIP. Isso gera tempos de carregamento mais rápidos para suas aplicações, e é o padrão para Visual Studio Code, Visual Studio e CLI do Azure.
Quando utilizá-lo: A implantação em ZIP é a tecnologia padrão e recomendada para aplicativos de função nos planos Windows Consumption, Windows e Linux Elastic Premium, e Windows e Linux App Service (Dedicado).
Onde o conteúdo do aplicativo é armazenado: Por padrão, o conteúdo do aplicativo proveniente de uma implantação em formato zip é armazenado no sistema de arquivos, que o Azure pode utilizar como backup do Arquivos do Azure a partir da conta de armazenamento especificada ao criar o aplicativo de funções. Em Consumo em Linux, o conteúdo do aplicativo é persistido em um blob na conta de armazenamento especificada pela configuração do aplicativo
AzureWebJobsStorage, e a configuração do aplicativoWEBSITE_RUN_FROM_PACKAGEassume o valor da URL do blob.
URL de pacote externo
Use uma URL de pacote externa quando quiser controlar manualmente como as implantações acontecem. Você é responsável por enviar um pacote .zip pronto para rodar que contenha o conteúdo do seu app para armazenamento de blobs e referenciar essa URL externa como uma configuração de aplicação no seu app funcional. Sempre que seu app reinicia, ele busca o pacote, o monta e é executado a partir do pacote.
Como usar: Adicione
WEBSITE_RUN_FROM_PACKAGEàs configurações do aplicativo. O valor dessa configuração deve ser uma URL de blob apontando para a localização do pacote específico que você deseja que seu aplicativo execute. Você pode adicionar configurações no portal ou usando o CLI do Azure.Se você usar o Armazenamento de Blobs do Azure, seu aplicativo de funções pode acessar o container usando uma conexão gerenciada baseada em identidade ou com uma assinatura de acesso compartilhada (SAS). A opção escolhida afeta o tipo de URL que você usa como o valor para
WEBSITE_RUN_FROM_PACKAGE. Identidade gerenciada é recomendada para maior segurança e porque os tokens SAS expiram e devem ser mantidos manualmente.Sempre que você implantar o arquivo de pacote referenciado por um aplicativo de funções, deverá sincronizar gatilhos manualmente, incluindo a implantação inicial. Ao alterar o conteúdo do arquivo de pacote e não a URL em si, você também deve reiniciar seu aplicativo de funções para sincronizar gatilhos. Para ver as etapas de configuração, consulte Executar a partir de uma URL de pacote externo.
Quando usá-lo: URL de pacote externo é o único método de implantação com suporte para aplicativos executados no plano de Consumo em Linux quando você não deseja que ocorra uma compilação remota. Esse método também é a tecnologia de implantação recomendada quando você criar seu aplicativo sem Arquivos do Azure. Para aplicativos escalonáveis executados no Linux, você deve considerar o uso de hosting no plano de Consumo Flex.
Onde o conteúdo do aplicativo é armazenado: Você é responsável por fazer o upload do conteúdo do seu aplicativo para o armazenamento de blobs. Você pode usar qualquer conta de armazenamento de blobs, embora o Armazenamento de Blobs do Azure seja recomendado.
contêiner do Docker
Você pode implantar um aplicativo de funções em execução em um contêiner do Linux.
Como usá-lo:Criar suas funções em um contêiner do Linux implantar o contêiner em um plano Premium ou Dedicado em Azure Functions ou em outro host de contêiner. Use o Azure Functions Core Tools para criar um Dockerfile personalizado para seu projeto que você usa para criar um aplicativo de funções em contêineres. Você pode usar o contêiner nas seguintes implantações:
- Implante em Azure Functions recursos criados no portal Azure. Para saber mais, confira o Criação no portal do Azure usando contêineres.
- Implante em Azure Functions recursos criados na linha de comando. Requer um plano Premium ou Dedicado (Serviço de Aplicativo). Para saber como, consulte Crie sua primeira função do Azure em contêineres.
- Implante em um cluster do Kubernetes. Você pode implantar em um cluster usando Azure Functions Core Tools. Use o comando
func kubernetes deploy.
Quando usar: Use a opção de contêiner do Docker quando precisar de mais controle sobre o ambiente do Linux onde seu aplicativo de funções é executado e onde o contêiner está hospedado. Esse mecanismo de implantação está disponível somente para as funções em execução no Linux.
Onde o conteúdo do aplicativo é armazenado: Você armazena o conteúdo do aplicativo no registro de contêiner especificado como parte da imagem.
Controle do código-fonte
Você pode habilitar a integração contínua entre seu aplicativo de funções e um repositório de código-fonte. Quando você habilita o controle do código-fonte, uma atualização para o código no repositório de origem conectado dispara a implantação do código mais recente do repositório. Para obter mais informações, consulte Implantação Contínua para Azure Functions.
Como usá-lo: a maneira mais fácil de configurar a publicação do controle do código-fonte é do Centro de Implantação na área Funções do portal. Para obter mais informações, consulte Implantação contínua para Azure Functions.
Quando usar: Usar o controle do código-fonte é a melhor prática para equipes que trabalham de forma colaborativa em aplicativos de funções. O controle do código-fonte é uma boa opção de implantação que permite pipelines de implantação mais sofisticados. Normalmente, você habilita o controle de versão em um ambiente de teste (staging), que pode ser trocado para produção após a validação das atualizações do repositório. Para obter mais informações, consulte slots de implantação do Azure Functions.
Onde o conteúdo do aplicativo é armazenado: O sistema de controle do código-fonte armazena o conteúdo do aplicativo. O sistema de arquivos do aplicativo armazena um formulário de conteúdo do aplicativo que foi clonado e criado localmente, o qual pode ser suportado pelos Arquivos do Azure da conta de armazenamento especificada quando o aplicativo de função foi criado.
Git local
Use o Git local para enviar código da sua máquina local para o Azure Functions.
Como usá-lo: Siga as instruções em implantação local do Git para Serviço de Aplicativo do Azure.
Quando usá-lo: Para reduzir a chance de erros, evite usar métodos de implantação que exigem a etapa adicional de sincronização manual de gatilhos. Use a implantação do zip quando possível.
Onde o conteúdo do app é armazenado: O sistema de arquivos armazena o conteúdo do app. O sistema de arquivos pode ser suportado pelo Arquivos do Azure a partir da conta de armazenamento que você especifica ao criar o aplicativo de funções.
FTPS
Você pode usar FTPS para transferir arquivos diretamente para o Azure Functions, mas não use esse método de implantação. Quando você não pretende usar FTPS, desative-o. Para aprender como no portal do Azure, consulte Enforce FTPS.
Como usá-lo: Siga as instruções nas configurações de implantação do FTPS para obter a URL e as credenciais que você pode usar para implantar em seu aplicativo de funções usando FTPS.
Quando usá-lo: Para reduzir a chance de erros, evite usar métodos de implantação que exigem a etapa adicional de sincronização manual de gatilhos. Use a implantação do zip quando possível.
Onde o conteúdo do aplicativo é armazenado: O conteúdo do aplicativo é armazenado no sistema de arquivos. As implantações FTP/FTPS falham quando o sistema de arquivos do aplicativo é apoiado por Arquivos do Azure na conta de armazenamento de host padrão. O FTP/FTPS falha com Arquivos do Azure como armazenamento montado devido a limitações do FTP.
Edição no portal
No editor baseado em portal, você pode editar diretamente os arquivos que estão em seu aplicativo de funções (essencialmente, implantando sempre que salvar suas alterações).
Como usá-lo: Para editar suas funções no portal do Azure, você deve criar suas funções no portal. Para preservar uma única fonte de verdade, usar qualquer outro método de implantação torna sua função somente leitura e impede a edição continuada do portal. Para retornar a um estado no qual você pode editar seus arquivos no portal do Azure, você pode retornar manualmente o modo de edição para
Read/Writee remover as configurações de aplicativo relacionadas à implantação (comoWEBSITE_RUN_FROM_PACKAGE).
Quando usá-lo: O portal é uma boa maneira de começar a usar Azure Functions. Devido às limitações de desenvolvimento no portal Azure, você deve usar uma das seguintes ferramentas de cliente para um trabalho de desenvolvimento mais avançado:
Onde o conteúdo do aplicativo é armazenado: O conteúdo do aplicativo é armazenado no sistema de arquivos, que pode ser feito pelos Arquivos do Azure a partir da conta de armazenamento especificada ao criar o aplicativo de funções.
Implantação de imagem de contêiner
Azure Functions no Aplicativos de Contêiner do Azure implanta seu código como uma imagem de contêiner. Você pode implantar a partir de um projeto de código usando a experiência gerenciada de Apps de Container, ou implantar uma imagem personalizada quando precisar de controle sobre o conteúdo da imagem. Para mais informações, veja Criar um aplicativo de funções no Aplicativos de Contêiner do Azure usando código e Azure Functions no Aplicativos de Contêiner do Azure Overview.
Comportamentos de implantação
Quando você implanta atualizações para o código do seu aplicativo de função, o comportamento de implantação depende do seu plano de hospedagem.
Atualmente, as funções em execução param quando você implanta novo código. Após o término da implantação, o novo código carrega e começa a processar requisições. Esse comportamento de encerramento forçado é conhecido como estratégia de recriação. Para implantações com tempo de inatividade quase zero, use slots de implantação.
Examine Prove o desempenho e a confiabilidade do Azure Functions para saber como escrever funções sem estado e defensivas.
O comportamento padrão usa a estratégia de recriação, que para de executar funções atuais durante a implantação. O Flex Consumption suporta duas estratégias de atualização do site. Você pode configurar atualizações sem interrupção para implantações de tempo de inatividade zero.
Aplicativos de Contêiner do Azure gerencia atualizações de aplicações usando revisões. Para mais informações sobre como controlar como novas revisões recebem tráfego, veja Atualizar e implantar mudanças no Aplicativos de Contêiner do Azure.
Slots de implantação
O Flex Consumption não suporta slots de implantação. Para implantações sem tempo de inatividade, configure atualizações contínuas.
Slots de implantação
Ao implantar seu app de funções no Azure, você pode implantá-lo em um slot de implantação separado em vez de diretamente na produção. Implantar em um slot de implantação e depois alternar para produção após a verificação é a maneira recomendada de configurar a implantação contínua.
A maneira como você implanta em um slot depende da ferramenta de implantação específica que você usa. Por exemplo, ao usar o Azure Functions Core Tools, inclua a --slot opção de indicar o nome de um slot específico para o func azure functionapp publish comando.
Para obter mais informações sobre slots de implantação, consulte a documentação Slots de Implantação do Azure Functions.
Próximas etapas
Leia estes artigos para saber mais sobre como implantar seus aplicativos de funções:
- implantação contínua para Azure Functions
- A entrega contínua usando Azure Pipelines
- Implantação zip para o Azure Functions
- Automatize a implantação de recursos para seu aplicativo de funções no Azure Functions.
- Configurar implantações sem tempo de inatividade no Flex Consumo