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

A partir do Azure Functions versão 2.x, o tempo de execução das funções inclui apenas gatilhos HTTP e de temporizador por padrão. Outros gatilhos e ligações estão disponíveis como pacotes separados.

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

A tabela a seguir indica quando e como você registra associações.

Ambiente de desenvolvimento Registo
em Funções 1.x
Registo
no Functions 2.x ou posterior
Portal do Azure Automático Automático*
Non-.NET línguas Automático Usar pacotes de extensões (recomendado) ou instalar extensões explicitamente
Biblioteca de classes C# usando o Visual Studio Usar ferramentas do NuGet Usar ferramentas do NuGet
Biblioteca de classes C# usando o Visual Studio Code N/A Usar a CLI do .NET Core

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

Pacotes de extensão

Por padrão, os pacotes de extensão são usados por aplicativos de função Java, JavaScript, PowerShell, Python, script C# e manipulador personalizado para trabalhar com extensões de vinculação. Nos casos em que os pacotes de extensões não podem ser usados, você pode instalar explicitamente extensões de vinculação com seu projeto de aplicativo de função. Os pacotes de extensão são suportados para a versão 2.x e versão posterior do tempo de execução do Functions.

Os pacotes de extensões são uma maneira de adicionar um conjunto predefinido de extensões de vinculação compatíveis ao seu aplicativo de função. Os pacotes de extensão são versionados. Cada versão contém um conjunto específico de extensões de vinculação que são verificadas para funcionar em conjunto. Selecione uma versão do pacote com base nas extensões que você precisa em seu aplicativo.

Quando você cria um projeto do 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 extensionBundle pacote de extensão é definida pela seção 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 seguintes estão disponíveis em extensionBundle:

Property Description
id O espaço de nomes para os pacotes de extensões das Funções do Microsoft Azure.
version O intervalo de versões do pacote a ser instalado. O runtime das Funções escolhe sempre a versão máxima permitida definida pelo intervalo de versões. Por exemplo, um version intervalo de valores permite todas as versões do [4.0.0, 5.0.0) pacote de 4.0.0 até, mas não incluindo, 5.0.0. Para obter mais informações, veja a notação de intervalo para especificar intervalos de versões.

A tabela a seguir lista os intervalos de versões atualmente disponíveis dos pacotes padrão Microsoft.Azure.Functions.ExtensionBundle e links para as extensões que eles incluem.

Versão do pacote Versão em 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.

Nota

Embora host.json ofereça suporte a intervalos personalizados para version, você deve usar um valor de intervalo de versão desta tabela, como [4.0.0, 5.0.0).

Instalar extensões explicitamente

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

Para linguagens non-.NET e script C#, quando você não pode usar pacotes de extensão, você precisa instalar manualmente as extensões de vinculação necessárias em seu projeto local. A maneira mais fácil é usar as Ferramentas Principais do Azure Functions. Para obter mais informações, consulte instalação de extensões func.

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

Próximos passos