Registar extensões de enlace de Funções do Azure
A partir do Funções do Azure versão 2.x, o runtime das funções inclui apenas HTTP e acionadores de temporizador por predefinição. Outros acionadores e enlaces estão disponíveis como pacotes separados.
As aplicações de funções de biblioteca de classes .NET utilizam enlaces que estão instalados no projeto como pacotes NuGet. Os pacotes de extensões permitem que non-.NET aplicações de funções utilizem os mesmos enlaces sem terem de lidar com a infraestrutura .NET.
A tabela seguinte indica quando e como registar enlaces.
Ambiente de programação | Registo em Funções 1.x |
Registo nas Funções 2.x ou posterior |
---|---|---|
Portal do Azure | Automático | Automático* |
idiomas de Non-.NET | Automático | Utilizar pacotes de extensões (recomendado) ou instalar explicitamente extensões |
Biblioteca de classes C# com o Visual Studio | Utilizar ferramentas NuGet | Utilizar ferramentas NuGet |
Biblioteca de classes C# com o Visual Studio Code | N/D | Utilizar a CLI de .NET Core |
* O portal utiliza pacotes de extensões, incluindo o script C#.
Pacotes de extensões
Por predefinição, os pacotes de extensões são utilizados por Java, JavaScript, PowerShell, Python, script C# e aplicações de funções do Processador Personalizado para trabalhar com extensões de enlace. Nos casos em que os pacotes de extensões não podem ser utilizados, pode instalar explicitamente extensões de enlace com o projeto da aplicação de funções. Os pacotes de extensões são suportados para a versão 2.x e versão posterior do runtime das Funções.
Os pacotes de extensões são uma forma de adicionar um conjunto predefinido de extensões de enlace compatíveis à sua aplicação de funções. Os pacotes de extensões têm um controlo de versão. Cada versão contém um conjunto específico de extensões de enlace que são verificadas para funcionarem em conjunto. Selecione uma versão do pacote com base nas extensões de que precisa na sua aplicação.
Quando cria um projeto de Funções do non-.NET a partir de ferramentas ou no portal, os pacotes de extensões já estão ativados no ficheiro host.json da aplicação.
Uma referência de pacote de extensão é definida pela extensionBundle
secção num host.json da seguinte forma:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
As seguintes propriedades estão disponíveis em extensionBundle
:
Propriedade | Descrição |
---|---|
id |
O espaço de nomes dos pacotes de extensões do Microsoft Funções do Azure. |
version |
O intervalo de versões do pacote a instalar. O runtime das Funções escolhe sempre a versão máxima permitida definida pelo intervalo ou intervalo de versões. Por exemplo, um version intervalo de valores de [3.3.0, 4.0.0) permite todas as versões do pacote de 3.3.0 até 4.0.0, mas não incluindo 4.0.0. Para obter mais informações, veja a notação de intervalo para especificar intervalos de versões. |
A tabela seguinte lista os intervalos de versões atualmente disponíveis dos pacotes microsoft.Azure.Functions.ExtensionBundle predefinidos e ligações para as extensões que incluem.
Versão do pacote | Versão em host.json | Extensões incluídas |
---|---|---|
1.x | [1.*, 2.0.0) |
Veja extensions.json utilizado para gerar o pacote. |
2.x | [2.*, 3.0.0) |
Veja extensions.json utilizado para gerar o pacote. |
3.x | [3.3.0, 4.0.0) |
Veja extensions.json utilizado para gerar o pacote. |
4.x | [4.0.0, 5.0.0) |
Veja extensions.json utilizado para gerar o pacote. |
Nota
Apesar de host.json suportar intervalos personalizados para version
, deve utilizar um valor de intervalo de versões desta tabela, como [3.3.0, 4.0.0)
.
Instalar explicitamente extensões
Para projetos de biblioteca de classes C# compilados (processo de trabalhoem processo e isolado), instale os pacotes NuGet para as extensões de que precisa normalmente. Para obter exemplos, veja o Guia para programadores do Visual Studio Code ou o Guia para programadores do Visual Studio.
Para non-.NET idiomas e script C#, quando não pode utilizar pacotes de extensões, tem de instalar manualmente as extensões de enlace necessárias no seu projeto local. A forma mais fácil é utilizar o Funções do Azure Core Tools. Para obter mais informações, veja instalação de extensões func.
Para o desenvolvimento apenas no portal, tem de criar manualmente um ficheiro extensions.csproj na raiz da sua aplicação de funções. Para saber mais, veja Instalar manualmente extensões.