Add a blob container client factory for customisation
Allows blob containers to be customised based on grainType and grain id. This is wrapped in an interface to allow injection of dependencies and state to be maintained.
Fixes #7831
Microsoft Reviewers: Open in CodeFlow
@ReubenBond is there anything extra you'd like done on this?
LGTM. cc @benjaminpetit for feedback. I made some minor adjustments in the latest commit.
@benjaminpetit PTAL. I recall you had an opinion that this should be implemented using a delegate instead. I wonder how that fits with the InitializeAsync method: should the delegate return a ValueTask<BlobContainerClient>?
Hi Ruben, congratulations to y'all for shipping Orleans 7.
I was wondering if there was any plans for this since the release has been completed, happy to help make any changes needed on it.
Hi @Romanx, apologies for the lack of activity here. @benjaminpetit raised some points about using a configurable delegate to select the container instead of a 2-method interface. I'd like to see how that alternative looks in code
Hey @ReubenBond, no problem at all. @benjaminpetit, Let me know if you need any help getting it going
@ReubenBond @benjaminpetit, this is becoming a little more pressing for my project as we're moving to Orleans 7.0 at the moment and we'd rather not copy the storage provider into our project.
Any updates on where we are with this, happy to spend some time if you've got ideas on what changes you'd like but no time yourselves?
cc @benjaminpetit let's come up with a solution/agreement on this tomorrow, if possible
Sorry to nudge again on this one. Is there any kind of ETA on this getting merged? We could bring this code directly into our codebase but then makes us not use the AzureStorage provider which could drift and we would rather not.
Cheers