RFC - Add the DataAdapter pattern to the SQS Stream Provider #8723
+743
−72
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The EventHub StreamProvider has a concept of a DataAdapter, where the user can inject their own implemention to parse messages for the queue, specifically for the purpose of picking up messages from sources that are not Orleans, and have not already passed through the StreamProvider.
I am attempting to implement this in the SQS provider, as I need similar functionality.
Request for comments / code review on this PR, I need to pull some more data out to configuration still.
The first commit was required to get the SQS tests passing, before I moved on to the commit with the Data Adapter change.
Contract changes:
internal
topublic
(as the DataAdapter needs to construct one, this is crux of the change).internal
topublic
as it is the only method of passing a SequenceToken to the object.Alternative approach, would be to have the consumer implement an
IBatchContainer
but it would be nice to have a default one.Microsoft Reviewers: Open in CodeFlow