You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Events trigger a request sent to the Functions host. The event carries either a raw HTTP payload (for HTTP-triggered functions), or a payload that holds the input binding data for the function.
30
+
- Events trigger a request sent to the Functions host. The event carries either a raw HTTP payload (for HTTP-triggered functions with no bindings), or a payload that holds input binding data for the function.
31
31
- The Functions host then proxies the request to the web server by issuing a [request payload](#request-payload).
32
32
- The web server executes the individual function, and returns a [response payload](#response-payload) to the Functions host.
33
33
- The Functions host proxies the response as an output binding payload to the target.
@@ -36,7 +36,7 @@ An Azure Functions app implemented as a custom handler must configure the *host.
36
36
37
37
## Application structure
38
38
39
-
To implement a custom handler, you need the following aspects in your application:
39
+
To implement a custom handler, you need the following aspects to your application:
40
40
41
41
- A *host.json* file at the root of your app
42
42
- A *function.json* file for each function (inside a folder that matches the function name)
@@ -118,7 +118,7 @@ The request payload for pure HTTP functions is the raw HTTP request payload. Pur
118
118
119
119
Any other type of function that includes either input, output bindings or is triggered via an event source other than HTTP have a custom request payload.
120
120
121
-
The following code represents a sample request payload. The payload includes a JSON payload with two members: `Data` and `Metadata`.
121
+
The following code represents a sample request payload. The payload includes a JSON structure with two members: `Data` and `Metadata`.
122
122
123
123
The `Data` member includes keys that match input and trigger names as defined in the bindings array in the *function.json* file.
124
124
@@ -174,13 +174,13 @@ A request payload similar to this example is returned:
174
174
175
175
By convention, function responses are formatted as key/value pairs. Supported keys include:
|`Outputs`| JSON | Holds response values as defined by the `bindings` array the *function.json* file.<br /><br />For instance, if a function is configured with a blob storage output binding named "blob", then `Outputs` contains a key named `blob`, which is set to the blob's value. |
180
-
|`Logs`| array | Messages appear in the Functions invocation logs.<br /><br />When running in Azure, logged messaged appear in Application Insights. |
180
+
|`Logs`| array | Messages appear in the Functions invocation logs.<br /><br />When running in Azure, messages appear in Application Insights. |
181
181
|`ReturnValue`| string | Used to provide a response when an output is configured as `$return` in the *function.json* file. |
182
182
183
-
See the [example for a sample payload](#server-implementation).
183
+
See the [example for a sample payload](#bindings-implementation).
In a folder named *http*, the *function.json* file configures the HTTP-triggered function.
@@ -278,7 +280,7 @@ The route for the order function here is `/hello` and not `/api/hello` because t
278
280
279
281
## Function with bindings
280
282
281
-
The scenario implemented in this example features a function named `order` that accepts a `POST` with a payload representing a product order.
283
+
The scenario implemented in this example features a function named `order` that accepts a `POST` with a payload representing a product order. As an order is posted to the function, a Queue Storage message is created and an HTTP response is returned.
In a folder named *order*, the *function.json* file configures the HTTP-triggered function.
@@ -436,7 +440,7 @@ This example is for Node.js, so you may have to alter this example for other lan
436
440
437
441
## Deploying
438
442
439
-
A custom handler can be deployed to any Azure Functions hosting option. If your handler requires custom dependencies (such as a language runtime), you may need to use a [custom container](./functions-create-function-linux-custom-image.md).
443
+
A custom handler can be deployed to nearly every Azure Functions hosting option (see [restrictions](#restrictions)). If your handler requires custom dependencies (such as a language runtime), you may need to use a [custom container](./functions-create-function-linux-custom-image.md).
0 commit comments