Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data Prepper documentation for the SNS to SQS fan out pattern in S3 #3915

Merged
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions _data-prepper/common-use-cases/s3-logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,10 @@ We recommend that you have one SQS queue per Data Prepper pipeline. In addition,

If you have multiple pipelines, you must create multiple SQS queues for each pipeline, even if both pipelines use the same S3 bucket.

## Amazon SNS fanout pattern

To meet the scale of logs produced in S3, some users require multiple SQS queues for their logs. You can use the [Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) (SNS) to route event notifications from S3 to an SQS [fanout pattern](https://docs.aws.amazon.com/sns/latest/dg/sns-common-scenarios.html). Using SNS, all S3 event notifications go directly to a single SNS topic, where you can subscribe to multiple SQS queues.
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

To make sure that Data Prepper can parse the event from the SNS topic directly, configure [raw message delivery](https://docs.aws.amazon.com/sns/latest/dg/sns-large-payload-raw-message-delivery.html) on the SNS to SQS subscription. If you want Data Prepper to ignore an SQS queue that sends notifications to your SNS topic, do not enable raw message delivery those queues.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want Data Prepper to ignore an SQS queue

I don't think this properly conveys the situation. Data Prepper isn't ignoring these SQS queues. They are not being used at all by Data Prepper. Also, the user can configure those other queues to use raw message delivery or not. It doesn't affect Data Prepper and Data Prepper doesn't affect them.

The point of my original wording was to help with the objection that setting raw message delivery will affect other consumers.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about this?

"When raw message delivery is not enabled on an SQS queue, Data Prepper does not use that SQS queue."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still not sure if that really conveys what I'm trying to say here.

This is my original text:

The raw message delivery option is on the connection between SNS and SQS.
Thus, you can have some SQS queues which do not enable raw message delivery.
Using Data Prepper will not interfere with those queues.

Perhaps we can simply say:

Setting this option will not affect other SQS queues which are subscribed to that SNS topic.