Implement Azure Blob Store#1554
Conversation
88ea9e1 to
024eccb
Compare
024eccb to
042699f
Compare
042699f to
ce79966
Compare
ce79966 to
d5bf750
Compare
d5bf750 to
7e2a535
Compare
this would be a rework, ideally doable by a strict refactoring (zero functional change), but this needs to be done before(!) adding new stores, to avoid higher/duplicate effort. Would you be willing to add a new bounty for this, or do you expect this to happen in context of providing the azure blob store? Personally, I would even split this into 2 bounties: one for the theoretical work (provide the inheritance diagram), another one for the implementation. 3rd and 4ths ones etc. would be for the stores (lower effort). One thing that is problematic and that you need to know: @aaronmondal , @MarcusSorealheis, your response-times within the repo and especially your bounties is far too low - be aware that this can alienate contributors (normal ones and bounty-workers). |
|
The rework for the generalized cloud store is already a WIP. I will raise that PR next week that should separate it out the functionality. |
It's just that Issues like this one shouldn't take 6 months. Splitting issues down to chunks and collaborating does the job much faster and with higher quality. That's all to it. (and response-times... well...) |
|
related: @MarcusSorealheis , is this a hickup of algora? the bounty #659 is still listed as 'unpaid' https://algora.io/TraceMachina/bounties |
eb09f7a to
49e1c05
Compare
|
/build-image nativelink-worker-init |
|
/build-image |
|
Image built and pushed! |
|
Image built and pushed! |
6f63e7c to
c62af12
Compare
Description
This PR implements the Azure Blob Store implementation and closely aligns with the AWS S3 implementation.
This utilizes the azure_sdk libraries (azure_core, azure_storage, and azure_storage_blobs). The libraries are still unofficial and being developed, so we should be mindful of any breaking changes in the future.
Apart from that, I started my development by first creating a POC: https://gist.github.com/amankrx/45e7d2a6ed935aa13dda0318681af2ad
This POC tests the get and upload blobs with all the default features disabled for Azure SDK. This creates a custom HttpClient with manually signing the requests to perform the transactions.
Fixes #1542
/claim #1542
Type of change
Please delete options that aren't relevant.
How Has This Been Tested?
I tested it locally using the
bazel testcommand with theazure_blob_backend.json5file, configured to use the actual blob storage. To test this locally, you should set the environment variableAZURE_STORAGE_KEYas the access key. Additionally, I created a test suite to cover both individual happy paths and error scenarios.Checklist
bazel test //...passes locallygit amendsee some docsThis change is