Déclencheur HTTP Azure FunctionsAzure Functions HTTP trigger

Le déclencheur HTTP vous permet d’appeler une fonction avec une requête HTTP.The HTTP trigger lets you invoke a function with an HTTP request. Vous pouvez utiliser un déclencheur HTTP pour générer des API serverless et répondre aux webhooks.You can use an HTTP trigger to build serverless APIs and respond to webhooks.

La valeur de retour par défaut pour une fonction déclenchée par HTTP est :The default return value for an HTTP-triggered function is:

  • HTTP 204 No Content avec un corps vide dans Functions 2.x et versions ultérieuresHTTP 204 No Content with an empty body in Functions 2.x and higher
  • HTTP 200 OK avec un corps vide dans Functions 1.xHTTP 200 OK with an empty body in Functions 1.x

Pour modifier la réponse HTTP, configurez une liaison de sortie.To modify the HTTP response, configure an output binding.

Pour plus d'informations sur les liaisons HTTP, consultez la présentation et les informations de référence sur les liaisons de sortie.For more information about HTTP bindings, see the overview and output binding reference.

Conseil

Si vous envisagez d’utiliser les liaisons HTTP ou WebHook, prévoyez d’éviter l’épuisement du port qui peut résulter d’une instanciation incorrecte de HttpClient.If you plan to use the HTTP or WebHook bindings, plan to avoid port exhaustion that can be caused by improper instantiation of HttpClient. Pour plus d’informations, consultez How to manage connections in Azure Functions (Comment gérer des connexions dans Azure Functions).For more information, see How to manage connections in Azure Functions.

ExempleExample

L’exemple suivant montre une fonction C# qui recherche un paramètre name dans la chaîne de requête ou dans le corps de la requête HTTP.The following example shows a C# function that looks for a name parameter either in the query string or the body of the HTTP request. Notez que la valeur renvoyée est utilisée pour la liaison de sortie, mais qu’aucun attribut de valeur renvoyée n’est requis.Notice that the return value is used for the output binding, but a return value attribute isn't required.

[FunctionName("HttpTriggerCSharp")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] 
    HttpRequest req, ILogger log)
{
    log.LogInformation("C# HTTP trigger function processed a request.");

    string name = req.Query["name"];

    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
    dynamic data = JsonConvert.DeserializeObject(requestBody);
    name = name ?? data?.name;

    return name != null
        ? (ActionResult)new OkObjectResult($"Hello, {name}")
        : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
}

Attributs et annotationsAttributes and annotations

Dans les bibliothèques de classes C# et Java, l’attribut HttpTrigger est disponible pour configurer la fonction.In C# class libraries and Java, the HttpTrigger attribute is available to configure the function.

Vous pouvez définir le niveau d’autorisation et des méthodes HTTP autorisées dans les paramètres de constructeur d’attribut, le type webhook et un modèle de routage.You can set the authorization level and allowable HTTP methods in attribute constructor parameters, webhook type, and a route template. Pour plus d'informations sur ces paramètres, consultez configuration.For more information about these settings, see configuration.

Cet exemple montre comment utiliser l’attribut HttpTrigger.This example demonstrates how to use the HttpTrigger attribute.

[FunctionName("HttpTriggerCSharp")]
public static Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequest req)
{
    ...
}

Pour obtenir un exemple complet, consultez l’exemple de déclencheur.For a complete example, see the trigger example.

ConfigurationConfiguration

Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le fichier function.json et l’attribut HttpTrigger.The following table explains the binding configuration properties that you set in the function.json file and the HttpTrigger attribute.

Propriété function.jsonfunction.json property Propriété d’attributAttribute property DescriptionDescription
typetype n/an/a Obligatoire : doit être défini sur httpTrigger.Required - must be set to httpTrigger.
directiondirection n/an/a Obligatoire : doit être défini sur in.Required - must be set to in.
namename n/an/a Obligatoire : nom de variable utilisé dans le code de la fonction pour la requête ou le corps de la requête.Required - the variable name used in function code for the request or request body.
authLevelauthLevel AuthLevelAuthLevel Détermine, le cas échéant, les clés qui doivent être présentes dans la requête pour appeler la fonction.Determines what keys, if any, need to be present on the request in order to invoke the function. Le niveau d’autorisation peut être l’une des valeurs suivantes :The authorization level can be one of the following values:
  • anonymous—Aucune clé API n’est obligatoire.anonymous—No API key is required.
  • function—Une clé API spécifique à la fonction est obligatoire.function—A function-specific API key is required. Il s’agit de la valeur par défaut si aucune valeur n’est fournie.This is the default value if none is provided.
  • admin—La clé principale est obligatoire.admin—The master key is required.
Pour plus d’informations, consultez la section sur les clés d’autorisation.For more information, see the section about authorization keys.
methodsmethods MéthodesMethods Tableau des méthodes HTTP auxquelles la fonction répond.An array of the HTTP methods to which the function responds. À défaut de spécification, la fonction répond à toutes les méthodes HTTP.If not specified, the function responds to all HTTP methods. Consultez Personnaliser le point de terminaison HTTP.See customize the HTTP endpoint.
routeroute ItinéraireRoute Définit le modèle de routage, en contrôlant les URL de requête auxquelles votre fonction répond.Defines the route template, controlling to which request URLs your function responds. La valeur par défaut est <functionname>.The default value if none is provided is <functionname>. Pour plus d’informations, consultez Personnaliser le point de terminaison HTTP.For more information, see customize the HTTP endpoint.
webHookTypewebHookType WebHookTypeWebHookType Prise en charge uniquement pour le runtime version 1.x.Supported only for the version 1.x runtime.

Configure le déclencheur HTTP pour qu’il agisse en tant que récepteur de Webhook pour le fournisseur spécifié.Configures the HTTP trigger to act as a webhook receiver for the specified provider. Ne définissez pas la propriété methods si vous définissez cette propriété.Don't set the methods property if you set this property. Le type de webhook peut être l’une des valeurs suivantes :The webhook type can be one of the following values:
  • genericJson—Point de terminaison webhook à usage général sans logique pour un fournisseur spécifique.genericJson—A general-purpose webhook endpoint without logic for a specific provider. Ce paramètre limite les requêtes à celles utilisant HTTP POST et le type de contenu application/json.This setting restricts requests to only those using HTTP POST and with the application/json content type.
  • github—La fonction répond aux Webhooks GitHub.github—The function responds to GitHub webhooks. N’utilisez pas la propriété authLevel avec des webhooks GitHub.Do not use the authLevel property with GitHub webhooks. Pour plus d’informations, consultez la section sur les webhooks GitHub plus loin dans cet article.For more information, see the GitHub webhooks section later in this article.
  • slack—La fonction répond aux Webhooks Slack.slack—The function responds to Slack webhooks. N’utilisez pas la propriété authLevel avec des webhooks Slack.Do not use the authLevel property with Slack webhooks. Pour plus d’informations, consultez la section sur les webhooks Slack plus loin dans cet article.For more information, see the Slack webhooks section later in this article.

PayloadPayload

Le type d’entrée du déclencheur est déclaré comme étant HttpRequest ou un type personnalisé.The trigger input type is declared as either HttpRequest or a custom type. Si vous choisissez HttpRequest, vous obtenez un accès complet à l’objet de la requête.If you choose HttpRequest, you get full access to the request object. Pour un type personnalisé, le runtime tente d’analyser le corps de la requête JSON pour définir les propriétés de l’objet.For a custom type, the runtime tries to parse the JSON request body to set the object properties.

Personnaliser le point de terminaison HTTPCustomize the HTTP endpoint

Par défaut, quand vous créez une fonction pour un déclencheur HTTP, la fonction est adressable avec une route de la forme :By default when you create a function for an HTTP trigger, the function is addressable with a route of the form:

http://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>

Vous pouvez personnaliser cet itinéraire en utilisant la propriété facultative route sur la liaison d’entrée du déclencheur HTTP.You can customize this route using the optional route property on the HTTP trigger's input binding. Par exemple, le fichier function.json suivant définit une propriété route pour un déclencheur HTTP :As an example, the following function.json file defines a route property for an HTTP trigger:

{
    "bindings": [
    {
        "type": "httpTrigger",
        "name": "req",
        "direction": "in",
        "methods": [ "get" ],
        "route": "products/{category:alpha}/{id:int?}"
    },
    {
        "type": "http",
        "name": "res",
        "direction": "out"
    }
    ]
}

Avec cette configuration, la fonction est désormais adressable avec l’itinéraire suivant au lieu de l’itinéraire d’origine.Using this configuration, the function is now addressable with the following route instead of the original route.

http://<APP_NAME>.azurewebsites.net/api/products/electronics/357

Cette configuration permet au code de la fonction de prendre en charge deux paramètres dans l'adresse, category et id.This configuration allows the function code to support two parameters in the address, category and id.

Vous pouvez utiliser les contraintes d’itinéraire des API Web de votre choix avec vos paramètres.You can use any Web API Route Constraint with your parameters. Le code de la fonction C# suivant utilise les deux paramètres.The following C# function code makes use of both parameters.

using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;

public static IActionResult Run(HttpRequest req, string category, int? id, ILogger log)
{
    var message = String.Format($"Category: {category}, ID: {id}");
    return (ActionResult)new OkObjectResult(message);
}

Par défaut, tous les itinéraires de fonction sont préfixés par api.By default, all function routes are prefixed with api. Vous pouvez également personnaliser ou supprimer le préfixe avec la propriété http.routePrefix dans votre fichier host.json.You can also customize or remove the prefix using the http.routePrefix property in your host.json file. L’exemple suivant supprime le préfixe d’itinéraire api en sélectionnant une chaîne vide pour le préfixe dans le fichier host.json.The following example removes the api route prefix by using an empty string for the prefix in the host.json file.

{
    "http": {
    "routePrefix": ""
    }
}

Utilisation des paramètres de routageUsing route parameters

Les paramètres de routage définissant le modèle route d’une fonction sont disponibles pour chaque liaison.Route parameters that defined a function's route pattern are available to each binding. Par exemple, si vous avez un itinéraire défini en tant que "route": "products/{id}", une liaison de stockage de table peut utiliser la valeur du paramètre {id} dans la configuration de liaison.For example, if you have a route defined as "route": "products/{id}" then a table storage binding can use the value of the {id} parameter in the binding configuration.

La configuration suivante montre comment le paramètre {id} est passé au rowKey de la liaison.The following configuration shows how the {id} parameter is passed to the binding's rowKey.

{
    "type": "table",
    "direction": "in",
    "name": "product",
    "partitionKey": "products",
    "tableName": "products",
    "rowKey": "{id}"
}

Utilisation d’identités de clientsWorking with client identities

S votre application de fonction utilise Authentification d’App Service/Autorisation, vous pouvez afficher des informations sur les clients authentifiés à partir de votre code.If your function app is using App Service Authentication / Authorization, you can view information about authenticated clients from your code. Ces informations sont disponibles en tant qu’en-têtes de demande injectées par la plateforme.This information is available as request headers injected by the platform.

Vous pouvez également lire ces informations à partir de la liaison de données.You can also read this information from binding data. Cette fonctionnalité est uniquement disponible pour le runtime Functions dans les versions 2.x et ultérieures.This capability is only available to the Functions runtime in 2.x and higher. Elle n’est actuellement également disponible que pour les langages .NET.It is also currently only available for .NET languages.

Les informations relatives aux clients authentifiés sont disponibles en tant que ClaimsPrincipal.Information regarding authenticated clients is available as a ClaimsPrincipal. Le ClaimsPrincipal est disponible dans le cadre du contexte de requête, comme le montre l’exemple suivant :The ClaimsPrincipal is available as part of the request context as shown in the following example:

using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;

public static IActionResult Run(HttpRequest req, ILogger log)
{
    ClaimsPrincipal identities = req.HttpContext.User;
    // ...
    return new OkObjectResult();
}

Le ClaimsPrincipal peut aussi simplement être inclus comme paramètre supplémentaire dans la signature de fonction :Alternatively, the ClaimsPrincipal can simply be included as an additional parameter in the function signature:

using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
using Newtonsoft.Json.Linq;

public static void Run(JObject input, ClaimsPrincipal principal, ILogger log)
{
    // ...
    return;
}

Clés d’autorisationAuthorization keys

Functions vous permet d’utiliser des clés pour rendre plus difficile l’accès à vos points de terminaison de fonctions HTTP pendant le développement.Functions lets you use keys to make it harder to access your HTTP function endpoints during development. Si le niveau d’autorisation HTTP sur une fonction déclenchée par HTTP n’est pas défini sur anonymous, les demandes doivent contenir une clé API.Unless the HTTP authorization level on an HTTP triggered function is set to anonymous, requests must include an API key in the request.

Important

Alors que les clés peuvent aider à masquer vos points de terminaison HTTP pendant le développement, elles ne sont pas destinées à sécuriser un déclencheur HTTP en production.While keys may help obfuscate your HTTP endpoints during development, they are not intended as a way to secure an HTTP trigger in production. Pour plus d’informations, consultez Sécuriser un point de terminaison HTTP en production.To learn more, see Secure an HTTP endpoint in production.

Notes

Dans le runtime Functions 1.x, les fournisseurs de webhooks peuvent utiliser des clés pour autoriser des requêtes de plusieurs façons, selon ce que le fournisseur prend en charge.In the Functions 1.x runtime, webhook providers may use keys to authorize requests in a variety of ways, depending on what the provider supports. Ceci est expliqué dans Webhooks et clés.This is covered in Webhooks and keys. Le runtime Functions dans les versions 2.x et ultérieures n’inclut pas la prise en charge intégrée pour les fournisseurs de webhooks.The Functions runtime in version 2.x and higher does not include built-in support for webhook providers.

Étendues d’autorisation (au niveau de la fonction)Authorization scopes (function-level)

Il existe deux étendues d’autorisation pour les clés au niveau de la fonction :There are two authorization scopes for function-level keys:

  • Fonction : Ces clés s’appliquent uniquement aux fonctions spécifiques sous lesquelles elles sont définies.Function: These keys apply only to the specific functions under which they are defined. Utilisées en tant que clés API, elles permettent d’accéder uniquement à ces fonctions.When used as an API key, these only allow access to that function.

  • Hôte : Des clés avec une étendue d’hôte permettent d’accéder à toutes les fonctions au sein de l’application de fonction.Host: Keys with a host scope can be used to access all functions within the function app. Utilisées en tant que clés API, elles permettent d’accéder à toute fonction au sein de la Function App.When used as an API key, these allow access to any function within the function app.

Chaque clé est nommée pour référence et il existe une clé par défaut (nommée « default ») au niveau fonction et hôte.Each key is named for reference, and there is a default key (named "default") at the function and host level. Les clés de fonction prennent le pas sur les clés d’hôte.Function keys take precedence over host keys. Quand deux clés portent le même nom, la clé de fonction est toujours utilisée.When two keys are defined with the same name, the function key is always used.

Clé principale (au niveau de l’administrateur)Master key (admin-level)

Chaque application de fonction a également une clé d’hôte au niveau de l’administrateur nommée _master.Each function app also has an admin-level host key named _master. En plus de fournir un accès au niveau de l’hôte à toutes les fonctions de l’application, la clé principale fournit un accès administratif aux API REST du runtime.In addition to providing host-level access to all functions in the app, the master key also provides administrative access to the runtime REST APIs. Cette clé ne peut pas être révoquée.This key cannot be revoked. Quand vous définissez un niveau d’autorisation de admin, les requêtes doivent utiliser la clé principale ; toute autre clé provoque l’échec de l’autorisation.When you set an authorization level of admin, requests must use the master key; any other key results in authorization failure.

Attention

En raison des autorisations élevées dans votre application de fonction accordées par la clé principale, vous ne devez pas partager celle-ci avec des tiers, ou la distribuer dans des applications clientes natives.Due to the elevated permissions in your function app granted by the master key, you should not share this key with third parties or distribute it in native client applications. Faites preuve de prudence lorsque vous choisissez le niveau d’autorisation administrateur.Use caution when choosing the admin authorization level.

Obtention de clésObtaining keys

Les clés sont stockées dans votre Function App dans Azure, et chiffrées au repos.Keys are stored as part of your function app in Azure and are encrypted at rest. Pour voir vos clés, en créer de nouvelles ou affecter de nouvelles valeurs aux clés, accédez à une de vos fonctions déclenchées par HTTP dans le portail Azure, puis sélectionnez Gérer.To view your keys, create new ones, or roll keys to new values, navigate to one of your HTTP-triggered functions in the Azure portal and select Manage.

Gérez les clés de fonction dans le portail.

Vous pouvez obtenir des clés de fonction programmatiquement en utilisant des API Gestion des clés.You may obtain function keys programmatically by using Key management APIs.

Autorisation de clé APIAPI key authorization

La plupart des modèles de déclencheur HTTP nécessitent une clé d’API dans la requête.Most HTTP trigger templates require an API key in the request. Ainsi, votre requête HTTP doit se présenter comme l’URL suivante :So your HTTP request normally looks like the following URL:

https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?code=<API_KEY>

La clé peut être incluse dans une variable de chaîne de requête nommée code, comme ci-dessus.The key can be included in a query string variable named code, as above. Elle peut également être incluse dans un en-tête HTTP x-functions-key.It can also be included in an x-functions-key HTTP header. La valeur de la clé peut être toute clé de fonction définie pour la fonction, ou toute clé d’hôte.The value of the key can be any function key defined for the function, or any host key.

Vous pouvez autoriser les requêtes anonymes, qui ne nécessitent pas de clés.You can allow anonymous requests, which do not require keys. Vous pouvez également exiger que la clé principale soit utilisée.You can also require that the master key is used. Pour modifier le niveau d’autorisation par défaut, utilisez la propriété authLevel dans le JSON de liaison.You change the default authorization level by using the authLevel property in the binding JSON. Pour plus d’informations, consultez Déclencheur - configuration.For more information, see Trigger - configuration.

Notes

Lors de l’exécution de fonctions localement, l’autorisation est désactivée, quel que soit le paramètre de niveau d’autorisation spécifié.When running functions locally, authorization is disabled regardless of the specified authorization level setting. Après la publication sur Azure, le paramètre authLevel de votre déclencheur est appliqué.After publishing to Azure, the authLevel setting in your trigger is enforced. Les clés sont quand même exigées lors d’une exécution locale dans un conteneur.Keys are still required when running locally in a container.

Sécuriser un point de terminaison HTTP en productionSecure an HTTP endpoint in production

Pour sécuriser complètement vos points de terminaison de fonction en production, vous devez envisager d’implémenter une des options suivantes de sécurité au niveau de l’application de fonction :To fully secure your function endpoints in production, you should consider implementing one of the following function app-level security options:

  • Activer l’authentification / autorisation App Service pour votre application de fonction.Turn on App Service Authentication / Authorization for your function app. La plateforme App Service vous permet d’utiliser AAD (Azure Active Directory) et plusieurs fournisseurs d’identité tiers pour authentifier les clients.The App Service platform lets you use Azure Active Directory (AAD) and several third-party identity providers to authenticate clients. Vous pouvez utiliser cette stratégie afin d'implémenter des règles d'autorisation personnalisées pour vos fonctions, et vous pouvez utiliser les informations utilisateur dans le code de votre fonction.You can use this strategy to implement custom authorization rules for your functions, and you can work with user information from your function code. Pour plus d’informations, consultez Authentification et autorisation dans Azure App Service et Utilisation des identités de clients.To learn more, see Authentication and authorization in Azure App Service and Working with client identities.

  • Utilisez Gestion des API Azure pour authentifier les requêtes.Use Azure API Management (APIM) to authenticate requests. Gestion des API Azure offre une variété d’options de sécurité des API pour les requêtes entrantes.APIM provides a variety of API security options for incoming requests. Pour plus d’informations, consultez Stratégies d’authentification dans Gestion des API.To learn more, see API Management authentication policies. Avec Gestion des API Azure en place, vous pouvez configurer votre application de fonction pour qu’elle accepte seulement les requêtes provenant de l’adresse IP de votre instance Gestion des API Azure.With APIM in place, you can configure your function app to accept requests only from the IP address of your APIM instance. Pour plus d’informations, consultez Restriction des adresses IP.To learn more, see IP address restrictions.

  • Déployez votre application de fonction sur un environnement Azure App Service.Deploy your function app to an Azure App Service Environment (ASE). L’environnement App Service fournit un environnement d’hébergement dédié où exécuter vos fonctions.ASE provides a dedicated hosting environment in which to run your functions. L’environnement App Service vous permet de configurer une passerelle frontend unique que vous pouvez utiliser pour authentifier toutes les requêtes entrantes.ASE lets you configure a single front-end gateway that you can use to authenticate all incoming requests. Pour plus d’informations, consultez Configuration d’un pare-feu d’applications Web (WAF) pour un environnement App Service.For more information, see Configuring a Web Application Firewall (WAF) for App Service Environment.

Quand vous utilisez l’une de ces méthodes de sécurité au niveau de l’application de fonction, vous devez définir le niveau d’autorisation de la fonction déclenchée par HTTP sur anonymous.When using one of these function app-level security methods, you should set the HTTP-triggered function authorization level to anonymous.

webhooksWebhooks

Notes

Le mode Webhook est disponible seulement pour la version 1.x du runtime Functions.Webhook mode is only available for version 1.x of the Functions runtime. Cette modification a été apportée afin d’améliorer les performances des déclencheurs HTTP dans les versions 2.x et ultérieures.This change was made to improve the performance of HTTP triggers in version 2.x and higher.

Dans la version 1.x, les modèles de webhook offrent une validation supplémentaire pour les charges utiles de webhook.In version 1.x, webhook templates provide additional validation for webhook payloads. Dans les versions 2.x et ultérieures, le déclencheur HTTP de base continue néanmoins de fonctionner et constitue l’approche recommandée pour les webhooks.In version 2.x and higher, the base HTTP trigger still works and is the recommended approach for webhooks.

Webhooks GitHubGitHub webhooks

Pour répondre aux webhooks GitHub, commencez par créer votre fonction avec un déclencheur HTTP, puis définissez la propriété webHookType sur github.To respond to GitHub webhooks, first create your function with an HTTP Trigger, and set the webHookType property to github. Ensuite, copiez son URL et sa clé API dans la page Ajouter un Webhook de votre dépôt GitHub.Then copy its URL and API key into the Add webhook page of your GitHub repository.

Webhooks SlackSlack webhooks

La webhook de Slack génère un jeton à votre place au lieu de vous laisser le spécifier. Vous devez donc configurer une clé spécifique de la fonction avec le jeton reçu de Slack.The Slack webhook generates a token for you instead of letting you specify it, so you must configure a function-specific key with the token from Slack. Consultez Clés d’autorisation.See Authorization keys.

Webhooks et clésWebhooks and keys

Une autorisation de webhook est gérée par le composant récepteur de webhook, qui fait partie du déclencheur HTTP, et le mécanisme varie en fonction du type de webhook.Webhook authorization is handled by the webhook receiver component, part of the HTTP trigger, and the mechanism varies based on the webhook type. Chaque mécanisme s’appuie sur une clé.Each mechanism does rely on a key. Par défaut, la clé de fonction nommée « default » est utilisée.By default, the function key named "default" is used. Pour utiliser une autre clé, configurez le fournisseur de webhook pour envoyer le nom de clé avec la requête de l’une des manières suivantes :To use a different key, configure the webhook provider to send the key name with the request in one of the following ways:

  • Chaîne de requête : Le fournisseur transmet le nom de la clé au paramètre de chaîne de requête clientid (par exemple, https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?clientid=<KEY_NAME>).Query string: The provider passes the key name in the clientid query string parameter, such as https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?clientid=<KEY_NAME>.
  • En-tête de requête : Le fournisseur transmet le nom de la clé à l’en-tête x-functions-clientid.Request header: The provider passes the key name in the x-functions-clientid header.

limitesLimits

La longueur de la requête HTTP est limitée à 100 Mo (104 857 600 octets) et la longueur de l’URL à 4 Ko (4 096 octets).The HTTP request length is limited to 100 MB (104,857,600 bytes), and the URL length is limited to 4 KB (4,096 bytes). Ces limites sont spécifiées par l’élément httpRuntime du fichier Web.config du runtime.These limits are specified by the httpRuntime element of the runtime's Web.config file.

Si une fonction utilisant le déclencheur HTTP ne se termine pas au bout de 230 secondes, Azure Load Balancer arrive à expiration et retourne une erreur HTTP 502.If a function that uses the HTTP trigger doesn't complete within 230 seconds, the Azure Load Balancer will time out and return an HTTP 502 error. La fonction continuera à s’exécuter, mais ne pourra pas renvoyer de réponse HTTP.The function will continue running but will be unable to return an HTTP response. Pour les fonctions à exécution longues, nous vous recommandons de suivre des modèles asynchrones et de retourner un emplacement où vous pouvez effectuer un test ping de l’état de la requête.For long-running functions, we recommend that you follow async patterns and return a location where you can ping the status of the request. Pour plus d’informations sur la durée d’exécution d’une fonction, consultez Scale and hosting - Consumption plan (Mise à l’échelle et hébergement – Plan de consommation).For information about how long a function can run, see Scale and hosting - Consumption plan.

Étapes suivantesNext steps