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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,9 @@
1
+
## Release 2026-01-22
2
+
3
+
### AWS.Messaging (1.1.0)
4
+
* Added support for pollers that are tied to a single message type. This change also allows processing messages that use the CloudEvents envelope as well as those that do not.
### Consuming AWS service events (raw JSON payloads)
249
+
Many AWS services can deliver events to SQS (directly, via SNS, or via EventBridge rules). These payloads are typically *raw JSON* and do not include the framework's CloudEvents envelope.
250
+
251
+
To consume raw JSON payloads, configure the SQS poller for a *single message type* and disable envelope support via `MessageEnvelopeMode.NotSupported`.
252
+
253
+
#### Example: Consume S3 event notifications from SQS
254
+
If you configure an S3 bucket to send event notifications directly to an SQS queue (for example, `s3:ObjectCreated:*`), the message body contains an S3 event notification JSON document.
255
+
256
+
You can model this payload yourself, but you can also reuse the strongly-typed event classes from the AWS Lambda .NET packages.
257
+
258
+
Add the S3 events package:
259
+
```
260
+
dotnet add package Amazon.Lambda.S3Events
261
+
```
262
+
263
+
The following example uses `Amazon.Lambda.S3Events.S3Event` and configures JSON deserialization to be case-insensitive (S3 event JSON uses a mix of `Records` and camelCase properties).
* Without the CloudEvents envelope, the framework cannot type-route messages by a `'type'` discriminator. Use a dedicated queue per message type (or configure multiple pollers).
317
+
* The S3-to-SQS notification format can include additional properties not modeled above; that's fine as long as your handler reads the fields it needs.
318
+
* This same approach works with other AWS Lambda .NET event packages (for example, `Amazon.Lambda.SNSEvents`, etc.) when the SQS message body is raw JSON for that event type.
319
+
248
320
### Configuring the SQS Message Poller
249
321
The SQS message poller can be configured by the `SQSMessagePollerOptions` when calling `AddSQSPoller`.
250
322
*`MaxNumberOfConcurrentMessages` - The maximum number of messages from the queue to process concurrently. The default value is `10`.
0 commit comments