Closed stijnmoreels closed 4 years ago
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200124.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200127.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
I think we should take a step back and think how we'd like to approach this.
We need to achieve following things:
What I'm trying to say is that now both deserialization & representation are tightly couple, but maybe we need to get rid of that.
Just thinking out loud.
What I'm trying to say is that now both deserialization & representation are tightly couple, but maybe we need to get rid of that.
Yes, so you don't have to worry about which type it is you deserialize?
I think we had that .ToEvent
and currently on master .Parse
that would do that for us. Or am I misinterpreting you :smile:
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200210.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
I think it's not really clear what we are trying to achieve here:
EventParser.Parse(rawEvent)
parses events into EventGridEventBatch<Event>
Event
is the universal representation of an event, regardless of it's initial schema
.AsEventGridEvent()
& AsCloudEvent()
based on the generic informationAnd on a side note, since we are working towards 3.0; maybe we should also rename EventGridEventBatch<Event>
to EventBatch<Event>
or is that one bridge too far? (not in this PR ofcourse)
I think it's not really clear what we are trying to achieve here:
EventParser.Parse(rawEvent)
parses events intoEventGridEventBatch<Event>
- Under the hood it uses multiple parses specific for contract type & version
Event
is the universal representation of an event, regardless of it's initial schema
- It should support
.AsEventGridEvent()
&AsCloudEvent()
based on the generic information
That's gonna be not entirely correct because the CloudEvents
and EventGrid
events are not isomorphic. Meaning, there's loss of information during conversion.
How do we plan to accomplish that? For example, the .Source
of the CloudEvents doesn't exists in the EventGrid events?
I just published an update where I concatenate the EventGrid topic with some versions, but that's not enitrely correct.
And on a side note, since we are working towards 3.0; maybe we should also rename
EventGridEventBatch<Event>
toEventBatch<Event>
or is that one bridge too far? (not in this PR ofcourse)
Yes, other PR, and I agree.
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200211.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
Added issue for renaming event batch: #113.
@tomkerkhove my maintainable message pump testing approach is locally almost done, but still has the issue of JSON parsing, which is fixed with this PR. That's also why I said that implicitly, the key rolling requires the fix for JSON parsing.
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200221.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
Unassigning as it still looks in-flight
Is the current state of the PR now something you can agree upon, @tomkerkhove ?
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200226.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
A new preview package for Arcus.EventGrid.All
is available on MyGet.
You can pull it locally via the CLI:
PM> Install-Package Arcus.EventGrid.All -Version 20200227.0.0-PR-112 -Source https://www.myget.org/F/arcus/api/v3/index.json
Using our abstracted model
Event
to represent both CloudEvents and EventGrid events, we can leverage this further by simplifying the parsing to a more "I don't care" approach.Closes #106