AWS Lambda

This documentation is for the Envoy v3 API.

As of Envoy v1.18 the v2 API has been removed and is no longer supported.

If you are upgrading from v2 API config you may wish to view the v2 API documentation:

This extension may be referenced by the qualified name envoy.filters.http.aws_lambda

Note

This extension is functional but has not had substantial production burn time, use only with this caveat.

This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.

Tip

This extension extends and can be used with the following extension category:

AWS Lambda configuration overview.

extensions.filters.http.aws_lambda.v3.Config

[extensions.filters.http.aws_lambda.v3.Config proto]

AWS Lambda filter config

{
  "arn": "...",
  "payload_passthrough": "...",
  "invocation_mode": "..."
}
arn

(string, REQUIRED) The ARN of the AWS Lambda to invoke when the filter is engaged Must be in the following format: arn:<partition>:lambda:<region>:<account-number>:function:<function-name>

payload_passthrough

(bool) Whether to transform the request (headers and body) to a JSON payload or pass it as is.

invocation_mode

(extensions.filters.http.aws_lambda.v3.Config.InvocationMode) Determines the way to invoke the Lambda function.

Enum extensions.filters.http.aws_lambda.v3.Config.InvocationMode

f[{normal_enum_type} proto]

SYNCHRONOUS

(DEFAULT) ⁣This is the more common mode of invocation, in which Lambda responds after it has completed the function. In this mode the output of the Lambda function becomes the response of the HTTP request.

ASYNCHRONOUS

⁣In this mode Lambda responds immediately but continues to process the function asynchronously. This mode can be used to signal events for example. In this mode, Lambda responds with an acknowledgment that it received the call which is translated to an HTTP 200 OK by the filter.

extensions.filters.http.aws_lambda.v3.PerRouteConfig

[extensions.filters.http.aws_lambda.v3.PerRouteConfig proto]

Per-route configuration for AWS Lambda. This can be useful when invoking a different Lambda function or a different version of the same Lambda depending on the route.

{
  "invoke_config": "{...}"
}
invoke_config

(extensions.filters.http.aws_lambda.v3.Config)