Liaisons de sortie HTTP Azure FunctionsAzure Functions HTTP output bindings

Utilisez la liaison de sortie HTTP pour répondre à l’expéditeur de la demande HTTP.Use the HTTP output binding to respond to the HTTP request sender. Cette liaison requiert un déclencheur HTTP, et vous permet de personnaliser la réponse associée à la demande du déclencheur.This binding requires an HTTP trigger and allows you to customize the response associated with the trigger's request.

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

ConfigurationConfiguration

Le tableau suivant décrit les propriétés de configuration de liaison que vous définissez dans le fichier function.json.The following table explains the binding configuration properties that you set in the function.json file. Pour les bibliothèques de classes C#, aucune propriété d’attribut ne correspond à ces propriétés de function.json.For C# class libraries, there are no attribute properties that correspond to these function.json properties.

PropriétéProperty DescriptionDescription
typetype Cette propriété doit être définie sur http.Must be set to http.
directiondirection Cette propriété doit être définie sur out.Must be set to out.
namename Nom de variable utilisé dans le code de fonction pour la réponse, ou $return pour utiliser la valeur renvoyée.The variable name used in function code for the response, or $return to use the return value.

UsageUsage

Pour envoyer une réponse HTTP, utilisez les modèles de réponse standard du langage.To send an HTTP response, use the language-standard response patterns. Dans un script C# ou C#, choisissez le type de retour de fonction IActionResult ou Task<IActionResult>.In C# or C# script, make the function return type IActionResult or Task<IActionResult>. En C#, aucun attribut de valeur renvoyée n’est requis.In C#, a return value attribute isn't required.

Par obtenir des exemples de réponse, consultez l’exemple de déclencheur.For example responses, see the trigger example.

Paramètres host.jsonhost.json settings

Cette section décrit les paramètres de configuration globaux disponibles pour cette liaison dans les versions 2.x et ultérieures.This section describes the global configuration settings available for this binding in versions 2.x and higher. L’exemple de fichier host.json ci-dessous contient seulement les paramètres des versions 2.x et ultérieures pour cette liaison.The example host.json file below contains only the version 2.x+ settings for this binding. Pour plus d’informations sur les paramètres de configuration globaux dans les versions 2.x et ultérieures, consultez Informations de référence sur le fichier host.json pour Azure Functions.For more information about global configuration settings in versions 2.x and beyond, see host.json reference for Azure Functions.

Notes

Pour obtenir une référence de host.json dans Functions 1.x, consultez Informations de référence sur le fichier host.json pour Azure Functions 1.x.For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 1.x.

{
    "extensions": {
        "http": {
            "routePrefix": "api",
            "maxOutstandingRequests": 200,
            "maxConcurrentRequests": 100,
            "dynamicThrottlesEnabled": true,
            "hsts": {
                "isEnabled": true,
                "maxAge": "10"
            },
            "customHeaders": {
                "X-Content-Type-Options": "nosniff"
            }
        }
    }
}
PropriétéProperty DefaultDefault DescriptionDescription
customHeaderscustomHeaders Aucunnone Vous permet de définir des en-têtes personnalisés dans la réponse HTTP.Allows you to set custom headers in the HTTP response. L’exemple précédent ajoute l’en-tête X-Content-Type-Options à la réponse pour éviter la détection du type de contenu.The previous example adds the X-Content-Type-Options header to the response to avoid content type sniffing.
dynamicThrottlesEnableddynamicThrottlesEnabled true*true* Quand il est activé, ce paramètre provoque la vérification périodique des compteurs de performances système, comme connections/threads/processes/memory/cpu/etc, par le pipeline de traitement des requêtes. Si un de ces compteurs dépasse un seuil supérieur intégré (80 %), les requêtes sont rejetées avec une réponse 429 "Too Busy" jusqu’à ce que le ou les compteurs reviennent à un niveau normal.When enabled, this setting causes the request processing pipeline to periodically check system performance counters like connections/threads/processes/memory/cpu/etc and if any of those counters are over a built-in high threshold (80%), requests will be rejected with a 429 "Too Busy" response until the counter(s) return to normal levels.
*La valeur par défaut d’un plan Consommation est true.*The default in a Consumption plan is true. La valeur par défaut dans un plan dédié est false.The default in a Dedicated plan is false.
hstshsts non activénot enabled Lorsque isEnabled est défini sur true, le comportement HTTP Strict Transport Security (HSTS) de .NET Core est appliqué, comme défini dans la classe HstsOptions.When isEnabled is set to true, the HTTP Strict Transport Security (HSTS) behavior of .NET Core is enforced, as defined in the HstsOptions class. L’exemple ci-dessus définit également la propriété maxAge sur 10 jours.The above example also sets the maxAge property to 10 days. Les propriétés prises en charge de hsts sont :Supported properties of hsts are:
PropriétéPropertyDescriptionDescription
excludedHostsexcludedHostsTableau de chaînes des noms d’hôtes pour lesquels l’en-tête HSTS n’est pas ajouté.A string array of host names for which the HSTS header isn't added.
includeSubDomainsincludeSubDomainsValeur booléenne qui indique si le paramètre includeSubDomain de l’en-tête Strict-Transport-Security est activé.Boolean value that indicates whether the includeSubDomain parameter of the Strict-Transport-Security header is enabled.
maxAgemaxAgeChaîne qui définit le paramètre max-age de l’en-tête Strict-Transport-Security.String that defines the max-age parameter of the Strict-Transport-Security header.
preloadpreloadValeur booléenne qui indique si le paramètre preload de l’en-tête Strict-Transport-Security est activé.Boolean that indicates whether the preload parameter of the Strict-Transport-Security header is enabled.
maxConcurrentRequestsmaxConcurrentRequests 100*100* Nombre maximal de fonctions HTTP exécutées en parallèle.The maximum number of HTTP functions that are executed in parallel. Cette valeur vous permet de contrôler la concurrence et facilite ainsi la gestion de l’utilisation des ressources.This value allows you to control concurrency, which can help manage resource utilization. Par exemple, vous pouvez avoir une fonction HTTP qui utilise un grand nombre de ressources système (mémoire/processeur/sockets) et qui provoque par conséquent des situations où la concurrence est trop élevée.For example, you might have an HTTP function that uses a large number of system resources (memory/cpu/sockets) such that it causes issues when concurrency is too high. Vous pouvez également avoir une fonction qui effectue des requête sortantes vers un service tiers et qui émet à ce titre des appels dont le débit doit être limité.Or you might have a function that makes outbound requests to a third-party service, and those calls need to be rate limited. Dans ces cas, il peut être pertinent d’appliquer une limitation.In these cases, applying a throttle here can help.
*La valeur par défaut d’un plan Consommation est 100.*The default for a Consumption plan is 100. La valeur par défaut d’un plan dédié est illimitée (-1).The default for a Dedicated plan is unbounded (-1).
maxOutstandingRequestsmaxOutstandingRequests 200*200* Nombre maximal de requêtes en attente qui ont lieu à un moment donné.The maximum number of outstanding requests that are held at any given time. La limite inclut les requêtes qui sont en file d’attente, mais dont l’exécution n’a pas démarré, ainsi que les exécutions en cours.This limit includes requests that are queued but have not started executing, as well as any in progress executions. Toutes les requêtes entrantes au-delà de cette limite sont rejetées avec une réponse 429 « Trop occupé ».Any incoming requests over this limit are rejected with a 429 "Too Busy" response. Ainsi, les appelants peuvent appliquer des stratégies temporelles de nouvelle tentative et vous êtes en mesure de contrôler les latences maximales de requêtes.That allows callers to employ time-based retry strategies, and also helps you to control maximum request latencies. Ce paramètre contrôle uniquement la mise en file d’attente qui se produit dans le chemin d’accès d’exécution de l’hôte de script.This only controls queuing that occurs within the script host execution path. Les autres files d’attente, telles que la file d’attente des requêtes ASP.NET, sont toujours actives et ne sont pas concernées par ce paramètre.Other queues such as the ASP.NET request queue will still be in effect and unaffected by this setting.
*La valeur par défaut d’un plan Consommation est 200.*The default for a Consumption plan is 200. La valeur par défaut d’un plan dédié est illimitée (-1).The default for a Dedicated plan is unbounded (-1).
routePrefixroutePrefix apiapi Préfixe d’itinéraire qui s’applique à tous les itinéraires.The route prefix that applies to all routes. Utilisez une chaîne vide pour supprimer le préfixe par défaut.Use an empty string to remove the default prefix.

Étapes suivantesNext steps