Partilhar via


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

O tempo de execução do Azure Functions executa nativamente gatilhos HTTP e de temporizador. Os comportamentos dos outros gatilhos e associações suportados são implementados em pacotes de extensão separados.

Os projetos da biblioteca de classes .NET usam extensões de vinculação instaladas no projeto como pacotes NuGet.

Os pacotes de extensões permitem que non-.NET aplicativos usem extensões de vinculação sem precisar interagir com a infraestrutura .NET.

Pacotes de extensão

Os pacotes de extensões adicionam 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 Azure Functions a partir de um modelo de non-.NET, os pacotes de extensão já estão habilitados no arquivo host.json do aplicativo.

Sempre que possível, use o intervalo de versões mais recente para obter o melhor desempenho do aplicativo e acesso aos recursos mais recentes. Para saber mais sobre pacotes de extensão, consulte Pacotes de extensão do Azure Functions.

No caso improvável de não poder usar um pacote de extensões, você deve, em vez disso, instalar explicitamente extensões.

Instalar extensões explicitamente

Para projetos compilados de biblioteca de classes C#, você instala os pacotes NuGet para as extensões de que precisa como faria normalmente em seus aplicativos. Para obter mais informações, consulte o Guia do desenvolvedor do Visual Studio Code ou o Guia do desenvolvedor do Visual Studio.

Certifique-se de obter o pacote correto porque o namespace difere dependendo do modelo de execução:

Modelo de execução Espaço de nomes
Processo de trabalho isolado Microsoft.Azure.Functions.Worker.Extensions.*
Em andamento Microsoft.Azure.WebJobs.Extensions.*

O Functions fornece pacotes de extensão para projetos non-.NET, que contêm um conjunto completo de extensões de vinculação que são verificadas como compatíveis. Se estiver a ter problemas de compatibilidade entre duas ou mais extensões de ligação, reveja as combinações compatíveis de versões de extensão. Para obter as combinações suportadas de extensões de ligação, consulte a página de lançamento dos pacotes de extensão.

Há casos em que você não pode usar pacotes de extensão, como quando precisa usar uma versão de pré-lançamento específica de uma extensão específica. Nesses casos raros, você deve instalar manualmente todas as extensões de vinculação necessárias em um arquivo de projeto C# que faça referência às extensões específicas exigidas pelo seu aplicativo. Para instalar manualmente extensões de ligação:

  1. Remova a referência do pacote de extensão do seu arquivo host.json.

  2. Use o comando func extensions install nas Ferramentas Principais do Azure Functions para gerar o arquivo extensions.csproj necessário na raiz do seu projeto local.

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

  3. Edite o arquivo extensions.csproj adicionando explicitamente um PackageReference elemento para cada extensão de vinculação específica e versão exigida pelo seu aplicativo.

  4. Valide a funcionalidade do seu aplicativo localmente e, em seguida, reimplante seu projeto, incluindo extensions.csproj, em seu aplicativo de função no Azure.

Assim que possível, você deve alternar seu aplicativo de volta para usar o pacote de extensão suportado mais recente.

Próximos passos