Como desativar funções em Funções AzureHow to disable functions in Azure Functions

Este artigo explica como desativar uma função nas Funções Azure.This article explains how to disable a function in Azure Functions. Desativar uma função significa fazer com que o tempo de funcionamento ignore o gatilho automático definido para a função.To disable a function means to make the runtime ignore the automatic trigger that is defined for the function. Isto permite evitar que uma função específica funcione sem parar toda a aplicação de funções.This lets you prevent a specific function from running without stopping the entire function app.

A forma recomendada de desativar uma função AzureWebJobs.<FUNCTION_NAME>.Disabledé utilizando uma definição de aplicação no formato .The recommended way to disable a function is by using an app setting in the format AzureWebJobs.<FUNCTION_NAME>.Disabled. Pode criar e modificar esta definição de aplicação de várias formas, incluindo utilizando o ClI Azur e a partir do separador Manage da sua função no portal Azure.You can create and modify this application setting in a number of ways, including by using the Azure CLI and from your function's Manage tab in the Azure portal.

Nota

Quando desativa uma função ativada pelo HTTP utilizando os métodos descritos neste artigo, o ponto final ainda pode ser acessível quando estiver em funcionamento no seu computador local.When you disable an HTTP triggered function by using the methods described in this article, the endpoint may still by accessible when running on your local computer.

Utilizar a CLI do AzureUse the Azure CLI

No Azure CLI, utiliza-se o az functionapp config appsettings set comando para criar e modificar a definição da aplicação.In the Azure CLI, you use the az functionapp config appsettings set command to create and modify the app setting. O comando seguinte desativa uma função nomeada QueueTrigger através da criação de uma definição de aplicação com o nome AzureWebJobs.QueueTrigger.Disabled definido para true.The following command disables a function named QueueTrigger by creating an app setting named AzureWebJobs.QueueTrigger.Disabled set it to true.

az functionapp config appsettings set --name <myFunctionApp> \
--resource-group <myResourceGroup> \
--settings AzureWebJobs.QueueTrigger.Disabled=true

Para reativar a função, reexecutar o falsemesmo comando com um valor de .To re-enable the function, rerun the same command with a value of false.

az functionapp config appsettings set --name <myFunctionApp> \
--resource-group <myResourceGroup> \
--settings AzureWebJobs.QueueTrigger.Disabled=false

Use o PortalUse the Portal

Também pode utilizar o interruptor 'Estado de função' no separador 'Gerir' da função. O interruptor funciona criando e AzureWebJobs.<FUNCTION_NAME>.Disabled apagando a definição da aplicação.You can also use the Function State switch on the function's Manage tab. The switch works by creating and deleting the AzureWebJobs.<FUNCTION_NAME>.Disabled app setting.

Interruptor de estado de função

Outros métodosOther methods

Embora o método de definição de aplicações seja recomendado para todos os idiomas e versões de tempo de execução, existem várias outras formas de desativar as funções.While the application setting method is recommended for all languages and all runtime versions, there are several other ways to disable functions. Estes métodos, que variam em termos de linguagem e versão de tempo de execução, são mantidos para retrocompatibilidade.These methods, which vary by language and runtime version, are maintained for backward compatibility.

Bibliotecas de classe C#C# class libraries

Numa função de biblioteca de Disable classe, também pode usar o atributo para evitar que a função seja desencadeada.In a class library function, you can also use the Disable attribute to prevent the function from being triggered. Pode utilizar o atributo sem um parâmetro de construção, como mostra o seguinte exemplo:You can use the attribute without a constructor parameter, as shown in the following example:

public static class QueueFunctions
{
    [Disable]
    [FunctionName("QueueTrigger")]
    public static void QueueTrigger(
        [QueueTrigger("myqueue-items")] string myQueueItem, 
        TraceWriter log)
    {
        log.Info($"C# function processed: {myQueueItem}");
    }
}

O atributo sem parâmetro de construção requer que recompile e reimplante o projeto para alterar o estado dedesactivado da função.The attribute without a constructor parameter requires that you recompile and redeploy the project to change the function's disabled state. Uma forma mais flexível de usar o atributo é incluir um parâmetro de construção que se refere a uma definição de app Boolean, como mostra o seguinte exemplo:A more flexible way to use the attribute is to include a constructor parameter that refers to a Boolean app setting, as shown in the following example:

public static class QueueFunctions
{
    [Disable("MY_TIMER_DISABLED")]
    [FunctionName("QueueTrigger")]
    public static void QueueTrigger(
        [QueueTrigger("myqueue-items")] string myQueueItem, 
        TraceWriter log)
    {
        log.Info($"C# function processed: {myQueueItem}");
    }
}

Este método permite-lhe ativar e desativar a função alterando a definição da aplicação, sem recompilar ou redistribuir.This method lets you enable and disable the function by changing the app setting, without recompiling or redeploying. A alteração de uma definição de aplicação faz com que a aplicação de funções reinicie, pelo que a mudança de estado desativada é imediatamente reconhecida.Changing an app setting causes the function app to restart, so the disabled state change is recognized immediately.

Importante

O Disabled atributo é a única maneira de desativar uma função de biblioteca de classes.The Disabled attribute is the only way to disable a class library function. O ficheiro função.json gerado para uma função de biblioteca de classes não deve ser editado diretamente.The generated function.json file for a class library function is not meant to be edited directly. Se editar esse ficheiro, o disabled que quer que faça à propriedade não terá qualquer efeito.If you edit that file, whatever you do to the disabled property will have no effect.

O mesmo se aplica ao interruptor de estado função no separador Gerir, uma vez que funciona alterando o ficheiro função.json.The same goes for the Function state switch on the Manage tab, since it works by changing the function.json file.

Além disso, note que o portal pode indicar que a função é desativada quando não está.Also, note that the portal may indicate the function is disabled when it isn't.

Funções 1.x - scriptling idiomasFunctions 1.x - scripting languages

Na versão 1.x, também disabled pode utilizar a propriedade do ficheiro function.json para dizer ao tempo de execução para não desencadear uma função.In version 1.x, you can also use the disabled property of the function.json file to tell the runtime not to trigger a function. Este método funciona apenas para scripts linguagens como c# script e JavaScript.This method only works for scripting languages such as C# script and JavaScript. A disabled propriedade pode true ser definida para ou para o nome de uma definição de app:The disabled property can be set to true or to the name of an app setting:

{
    "bindings": [
        {
            "type": "queueTrigger",
            "direction": "in",
            "name": "myQueueItem",
            "queueName": "myqueue-items",
            "connection":"MyStorageConnectionAppSetting"
        }
    ],
    "disabled": true
}

ouor

    "bindings": [
        ...
    ],
    "disabled": "IS_DISABLED"

No segundo exemplo, a função é desativada quando existe uma true definição de aplicação que é chamada IS_DISABLED e está definida para ou 1.In the second example, the function is disabled when there is an app setting that is named IS_DISABLED and is set to true or 1.

Pode editar o ficheiro no portal Azure ou utilizar o interruptor 'Estado de função' no separador 'Gerir' da função. O interruptor do portal funciona alterando o ficheiro função.json.You can edit the file in the Azure portal or use the Function State switch on the function's Manage tab. The portal switch works by changing the function.json file.

Interruptor de estado de função

Passos seguintesNext steps

Este artigo é sobre desativar os gatilhos automáticos.This article is about disabling automatic triggers. Para obter mais informações sobre os gatilhos, consulte Gatilhos e encadernações.For more information about triggers, see Triggers and bindings.