Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit 82e4896

Browse files
authored
[ESM] Add table for feature-specific coverage (#1594)
1 parent 2a0c192 commit 82e4896

File tree

1 file changed

+48
-11
lines changed
  • content/en/user-guide/aws/lambda

1 file changed

+48
-11
lines changed

content/en/user-guide/aws/lambda/index.md

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,20 +165,57 @@ The product of 10 and 10 is 100%
165165
[Lambda event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html) allows you to connect Lambda functions to other AWS services.
166166
The following event sources are supported in LocalStack:
167167

168+
- [Simple Queue Service (SQS)](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)
168169
- [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html)
169170
- [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html)
170-
- [Managed Streaming for Apache Kafka (MSK)](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html)
171-
- [Simple Queue Service (SQS)](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)
171+
- [Managed Streaming for Apache Kafka (MSK)](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) ⭐️
172+
- [Self-Managed Apache Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html) ⭐️
173+
174+
### Behaviour Coverage
175+
176+
The table below shows feature coverage for all supported event sources for the latest version of LocalStack.
177+
178+
Unlike [API operation coverage](https://docs.localstack.cloud/references/coverage/coverage_lambda/), this table illustrates the **functional and behavioural coverage** of LocalStack's Lambda Event Source Mapping implementation.
179+
180+
Where necessary, footnotes are used to provide additional context.
181+
182+
{{< callout >}}
183+
Feature availability and coverage is categorized with the following system:
184+
- ⭐️ Only Available in LocalStack Pro image
185+
- 🟢 Fully Implemented
186+
- 🟡 Partially Implemented
187+
- 🟠 Not Implemented
188+
- ➖ Not Applicable (Not Supported by AWS)
189+
{{</callout >}}
172190

173-
The limitations compared to AWS include:
174-
- Lambda Success Destinations are not supported.
175-
- Only basic validations are performed upon creating and updating ESM.
176-
- Streaming Pollers for Kinesis and DynamoDB do not implement the following batching behavior configurations:
177-
- `BisectBatchOnFunctionError`
178-
- `MaximumBatchingWindowInSeconds`
179-
- `ParallelizationFactor`
180-
- `ScalingConfig`
181-
- `TumblingWindowInSeconds`.
191+
| | <th colspan="2" style="text-align:center;">SQS</th> <th colspan="2" style="text-align:center;">Stream</th> <th colspan="2" style="text-align:center;">Kafka ⭐️</th>
192+
|--------------------------------|-------------------------------------------------|:--------:|:----:|:---------:|:----------:|:----------:|:------------:|
193+
| **Parameter** | **Description** | **Standard** | **FIFO** | **Kinesis** | **DynamoDB** | **Amazon MSK** | **Self-Managed** |
194+
| BatchSize | Batching events by count. | 🟡 [^1] | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
195+
| *Not Configurable* | Batch when ≥ 6 MB limit. | 🟠 | 🟠 | 🟠 | 🟠 | 🟢 | 🟢 |
196+
| MaximumBatchingWindowInSeconds | Batch by Time Window. | 🟠 || 🟠 | 🟠 | 🟢 | 🟢 |
197+
| MaximumRetryAttempts | Discard after N retries. ||| 🟢 | 🟢 |||
198+
| MaximumRecordAgeInSeconds | Discard records older than time `t`. ||| 🟢 | 🟢 |||
199+
| Enabled | Enabling/Disabling. | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
200+
| FilterCriteria | Filter pattern evaluating. [^2] [^3] | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
201+
| FunctionResponseTypes | Enabling ReportBatchItemFailures. | 🟢 | 🟢 | 🟢 | 🟢 |||
202+
| BisectBatchOnFunctionError | Bisect a batch on error and retry. ||| 🟠 | 🟠 |||
203+
| ScalingConfig | The scaling configuration for the event source. | 🟠 | 🟠 |||||
204+
| ParallelizationFactor | Parallel batch processing by shard. ||| 🟠 | 🟠 |||
205+
| DestinationConfig.OnFailure | SQS Failure Destination. ||| 🟢 | 🟢 | 🟢 | 🟢 |
206+
| | SNS Failure Destination. ||| 🟢 | 🟢 | 🟢 | 🟢 |
207+
| | S3 Failure Destination. ||| 🟠 | 🟠 | 🟠 | 🟠 |
208+
| DestinationConfig.OnSuccess | Success Destinations. |||||||
209+
| MetricsConfig | CloudWatch metrics. | 🟠 | 🟠 | 🟠 | 🟠 | 🟠 | 🟠 |
210+
| ProvisionedPollerConfig | Control throughput via min-max limits. ||||| 🟠 | 🟠 |
211+
| StartingPosition | Position to start reading from. ||| 🟢 | 🟢 | 🟢 | 🟢 |
212+
| StartingPositionTimestamp | Timestamp to start reading from. ||| 🟢 || 🟢 | 🟢 |
213+
| TumblingWindowInSeconds | Duration (seconds) of a processing window. ||| 🟠 | 🟠 |||
214+
| Topics ⭐️ | Kafka topics to read from. ||||| 🟢 | 🟢 |
215+
216+
[^1]: SQS event-source mappings are limited to sending batches of up to `10` records at a time when invoking Lambda functions.
217+
[^2]: Read more at [Control which events Lambda sends to your function](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)
218+
[^3]: The available Metadata properties may not have full parity with AWS depending on the event source (read more at [Understanding event filtering basics](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics)).
182219

183220
Create a [GitHub issue](https://github.com/localstack/localstack/issues/new/choose) or reach out to [LocalStack support](https://docs.localstack.cloud/getting-started/help-and-support/) if you experience any challenges.
184221

0 commit comments

Comments
 (0)