Registrar extensões de associação do Azure Functions

Começando com Azure Functions versão 2.x, o tempo de execução do Functions inclui apenas gatilhos HTTP e Timer por padrão. Outros gatilhos e associações estão disponíveis como pacotes separados.

Os aplicativos de funções da biblioteca de classes .NET usam associações que estão instaladas no projeto como pacotes NuGet. Os pacotes de extensão permitem que os aplicativos de funções não .NET usem as mesmas associações sem a necessidade de lidar com a infraestrutura do .NET.

A tabela a seguir indica quando e como registrar as associações.

Ambiente de desenvolvimento Registro
em funções de 1. x
Registro
no Functions 2.x ou posterior
Portal do Azure Automática Automática*
Linguagens não .NET Automática Usar pacotes de extensão (recomendado) ou instalar extensões explicitamente
Biblioteca de classes C# usando o Visual Studio Usar as ferramentas do NuGet Usar as ferramentas do NuGet
Biblioteca de classes C# usando o código do Visual Studio N/D Use o .NET Core CLI

* O Portal usa pacotes de extensão, incluindo o script C#.

pacotes de extensão

Por padrão, os pacotes de extensão são usados por aplicativos de funções Java, JavaScript, PowerShell, Python, C# e Manipulador Personalizado para trabalhar com extensões de associação. Nos casos em que os pacotes de extensão não podem ser usados, você pode instalar explicitamente extensões de associação com o projeto de aplicativo de funções. Há suporte para pacotes de extensão para a versão 2.x e posterior do runtime do Functions.

Os pacotes de extensão permitem que você adicione um conjunto predefinido de extensões de associação compatíveis ao aplicativo de funções. Os pacotes de extensão têm controle de versão. Cada versão contém um conjunto específico de extensões de ligação que são verificadas para funcionar em conjunto. Selecione uma versão de pacote com base nas extensões que você precisa em seu aplicativo.

Quando você cria um projeto non-.NET Functions a partir de ferramentas ou no portal, os pacotes de extensão já estão habilitados no arquivo host.json do aplicativo.

Uma referência de pacote de extensão é definida pela seção extensionBundle em um host.json da seguinte maneira:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

As propriedades a seguir estão disponíveis em extensionBundle:

Propriedade Descrição
id O namespace dos pacotes de extensão do Microsoft Azure Functions.
version O intervalo de versão do pacote a ser instalado. O runtime do Functions sempre escolhe a versão máxima permitida definida pelo intervalo de versões. Por exemplo, um version intervalo de valores permite [4.0.0, 5.0.0) todas as versões de pacote de 4.0.0 até, mas não incluindo 5.0.0. Para obter mais informações, confira a notação de intervalo para especificar intervalos de versões.

A tabela a seguir lista os intervalos de versão disponíveis no momento do pacote Padrão Microsoft.Azure.Functions.ExtensionBundle e links para as extensões que elas incluem.

Versão do pacote Versão no host.json Extensões incluídas
1.x [1.*, 2.0.0) Consulte extensions.json usado para gerar o pacote.
2. x [2.*, 3.0.0) Consulte extensions.json usado para gerar o pacote.
3.x [3.3.0, 4.0.0) Consulte extensions.json usado para gerar o pacote.
4.x [4.0.0, 5.0.0) Consulte extensions.json usado para gerar o pacote.

Observação

Mesmo que o host.json dê suporte a intervalos personalizados para version, você deve usar um valor de intervalo de versão dessa tabela, como [4.0.0, 5.0.0).

Instalar extensões explicitamente

Para projetos de biblioteca de classes C# compilados (em processo e processo de trabalho isolado), instale os pacotes de NuGet para as extensões de que você precisa normalmente. Para obter exemplos, consulte o Guia do desenvolvedor do Visual Studio Code ou o Guia do desenvolvedor do Visual Studio.

Para non-.NET idiomas e script C#, quando você não pode usar pacotes de extensão, instale manualmente as extensões de associação necessárias no projeto local. A maneira mais fácil é usar o Azure Functions Core Tools. Para obter mais informações, consulte func extensions install.

Para desenvolvimento somente portal, você precisa criar manualmente um arquivo extensions.csproj na raiz do aplicativo de funções. Para saber mais, consulte Instalar extensões manualmente.

Próximas etapas