Skip to content

Commit

Permalink
[ESM] Add table for feature-specific coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
gregfurman committed Dec 12, 2024
1 parent 8bae102 commit 77f24c9
Showing 1 changed file with 42 additions and 11 deletions.
53 changes: 42 additions & 11 deletions content/en/user-guide/aws/lambda/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,20 +165,51 @@ The product of 10 and 10 is 100%
[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.
The following event sources are supported in LocalStack:

- [Simple Queue Service (SQS)](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)
- [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html)
- [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html)
- [Managed Streaming for Apache Kafka (MSK)](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html)
- [Simple Queue Service (SQS)](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)

The limitations compared to AWS include:
- Lambda Success Destinations are not supported.
- Only basic validations are performed upon creating and updating ESM.
- Streaming Pollers for Kinesis and DynamoDB do not implement the following batching behavior configurations:
- `BisectBatchOnFunctionError`
- `MaximumBatchingWindowInSeconds`
- `ParallelizationFactor`
- `ScalingConfig`
- `TumblingWindowInSeconds`.
- [Self-Managed Apache Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html)

### Coverage

The coverage table below shows feature-level coverage for all supported event sources for the latest version of LocalStack.

Where necessary, footnotes are used to provide additional context.

#### Legend
- ⭐️ Only Available in Pro
- 🟒 Fully Implemented
- 🟑 Partially Implemented
- 🟠 Not Implemented
- βž– Not Applicable (Not Supported by AWS)

| | <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>
|--------------------------------|-------------------------------------------------|:--------:|:----:|:---------:|:----------:|:----------:|:------------:|
| **Parameter** | **Description** | **Standard** | **FIFO** | **Kinesis** | **DynamoDB** | **Amazon MSK** | **Self-Managed** |
| BatchSize | Batching events by count. | 🟑 [^1] | 🟒 | 🟒 | 🟒 | 🟒 | 🟒 |
| βž– | Batch when β‰₯ 6 MB limit. | 🟠 | 🟠 | 🟠 | 🟠 | 🟒 | 🟒 |
| MaximumBatchingWindowInSeconds | Batch by Time Window. | 🟠 | βž– | 🟠 | 🟠 | 🟒 | 🟒 |
| MaximumRetryAttempts | Discard after N retries. | βž– | βž– | 🟒 | 🟒 | βž– | βž– |
| MaximumRecordAgeInSeconds | Discard records older than time `t`. | βž– | βž– | 🟒 | 🟒 | βž– | βž– |
| Enabled | Enabling/Disabling. | 🟒 | 🟒 | 🟒 | 🟒 | 🟒 | 🟒 |
| FilterCriteria | Filter criteria object. | 🟒 | 🟒 | 🟒 | 🟒 | 🟒 | 🟒 |
| FunctionResponseTypes | Enabling ReportBatchItemFailures. | 🟒 | 🟒 | 🟒 | 🟒 | βž– | βž– |
| BisectBatchOnFunctionError | Bisect a batch on error and retry. | βž– | βž– | 🟠 | 🟠 | βž– | βž– |
| ScalingConfig | The scaling configuration for the event source. | 🟠 | 🟠 | βž– | βž– | βž– | βž– |
| ParallelizationFactor | Parallel batch processing by shard. | βž– | βž– | 🟠 | 🟠 | βž– | βž– |
| DestinationConfig.OnFailure | SQS Failure Destination. | βž– | βž– | 🟒 | 🟒 | 🟒 | 🟒 |
| | SNS Failure Destination. | βž– | βž– | 🟒 | 🟒 | 🟒 | 🟒 |
| | S3 Failure Destination. | βž– | βž– | 🟠 | 🟠 | 🟠 | 🟠 |
| DestinationConfig.OnSuccess | Success Destinations. | βž– | βž– | βž– | βž– | βž– | βž– |
| MetricsConfig | CloudWatch metrics. | 🟠 | 🟠 | 🟠 | 🟠 | 🟠 | 🟠 |
| ProvisionedPollerConfig | Control throughput via min-max limits. | βž– | βž– | βž– | βž– | 🟠 | 🟠 |
| StartingPosition | Position to start reading from. | βž– | βž– | 🟒 | 🟒 | 🟒 | 🟒 |
| StartingPositionTimestamp | Timestamp to start reading from. | βž– | βž– | 🟒 | βž– | 🟒 | 🟒 |
| TumblingWindowInSeconds | Duration (seconds) of a processing window. | βž– | βž– | 🟠 | 🟠 | βž– | βž– |
| Topics ⭐️ | Kafka topics to read from. | βž– | βž– | βž– | βž– | 🟒 | 🟒 |

[^1]: SQS event-source mappings are limited to sending batches of up to `10` records at a time when invoking Lambda functions.

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.

Expand Down

0 comments on commit 77f24c9

Please sign in to comment.