Funções do Azure HTTP desencadeia e encaderna mente geral
Funções do Azure podem ser invocados através de pedidos HTTP para construir APIs sem servidor e responder a webhooks.
Ação | Tipo |
---|---|
Executar uma função a partir de um pedido HTTP | Acionador |
Devolver uma resposta HTTP de uma função | Ligação de saída |
Instalar a extensão
O pacote de extensão NuGet que instala depende do modo C# que está a utilizar na sua aplicação de função:
As funções executam no mesmo processo que o anfitrião funções. Para saber mais, consulte as funções da biblioteca da classe Develop C# utilizando Funções do Azure.
A funcionalidade da extensão varia consoante a versão de extensão:
Adicione a extensão ao seu projeto instalando o pacote NuGet, versão 3.x.
Instalar pacote
Começando pela versão 2.x das Funções, a extensão HTTP faz parte de um pacote de extensão, especificado no seu ficheiro de projeto host.json. Para saber mais, consulte o pacote de extensão.
Esta versão da extensão já deve estar disponível para a sua aplicação de função com pacote de extensão, versão 2.x.
configurações host.json
Esta secção descreve as definições de configuração disponíveis para esta ligação nas versões 2.x ou superiores. As definições no ficheiro host.json aplicam-se a todas as funções numa instância de aplicação de função. O ficheiro host.json abaixo contém apenas as definições da versão 2.x+ para esta ligação. Para obter mais informações sobre as definições de configuração de aplicações de função nas versões 2.x e versões posteriores, consulte a referência host.json para Funções do Azure.
Nota
Para obter uma referência de host.json em Funções 1.x, consulte a referência host.json para Funções do Azure 1.x.
{
"extensions": {
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true,
"hsts": {
"isEnabled": true,
"maxAge": "10"
},
"customHeaders": {
"X-Content-Type-Options": "nosniff"
}
}
}
}
Propriedade | Predefinição | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
personalizadosHeaders | nenhum | Permite-lhe definir cabeçalhos personalizados na resposta HTTP. O exemplo anterior adiciona o X-Content-Type-Options cabeçalho à resposta para evitar o cheiro do tipo de conteúdo. Este cabeçalho personalizado aplica-se a todas as funções desacionadas http na aplicação de função. |
||||||||||
dynamicThrottlesEnabled | verdade* | Quando ativado, esta definição faz com que o gasoduto de processamento do pedido verifique periodicamente os contadores de desempenho do sistema e connections/threads/processes/memory/cpu/etc , se algum desses contadores estiver acima de um limiar elevado incorporado (80%), os pedidos serão rejeitados com uma 429 "Too Busy" resposta até que o contador(s) volte aos níveis normais.*O padrão num plano de consumo é true . O padrão num plano dedicado é false . |
||||||||||
hsts | não habilitado | Quando isEnabled definido para true , o comportamento HTTP Strict Transport Security (HSTS) de .NET Core é aplicado, conforme definido na HstsOptions classe. O exemplo acima também define a maxAge propriedade para 10 dias. Propriedades suportadas são hsts :
|
||||||||||
maxConcurrentRequests | 100* | O número máximo de funções HTTP que são executadas em paralelo. Este valor permite-lhe controlar a concordância, o que pode ajudar a gerir a utilização de recursos. Por exemplo, pode ter uma função HTTP que utiliza um grande número de recursos do sistema (memória/cpu/tomadas) de modo a causar problemas quando a conúvência é demasiado elevada. Ou pode ter uma função que faz pedidos de saída para um serviço de terceiros, e essas chamadas precisam de ser limitadas. Nestes casos, aplicar um acelerador aqui pode ajudar. *O padrão para um plano de consumo é de 100. O padrão para um plano dedicado é ilimitado ( -1 ). |
||||||||||
maxOutstandingRequests | 200* | O número máximo de pedidos pendentes que são realizados em qualquer momento. Este limite inclui pedidos que estão em fila mas que não começaram a executar, bem como quaisquer execuções em curso. Quaisquer pedidos de entrada acima deste limite são rejeitados com uma resposta 429 "Demasiado Ocupado". Isso permite que os chamadores utilizem estratégias de relíndi baseadas no tempo, e também ajuda-o a controlar o máximo de atrasos de pedido. Isto apenas controla a fila que ocorre dentro do caminho de execução do anfitrião do script. Outras filas, como a fila de pedidos ASP.NET ainda estarão em vigor e não serão afetadas por esta definição. *O padrão para um plano de consumo é de 200. O padrão para um plano dedicado é ilimitado ( -1 ). |
||||||||||
rotaPrefix | api | O prefixo da rota que se aplica a todas as rotas. Utilize uma corda vazia para remover o prefixo predefinido. |