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

Add Azure Blob Storage store #1553

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

vishwamartur
Copy link

@vishwamartur vishwamartur commented Dec 23, 2024

Related to #1542

Implement Azure Blob Storage (Azure Store) for NativeLink.

  • Add Azure Store Implementation:

    • Create nativelink-store/src/azure_store.rs with Azure Blob Storage store implementation.
    • Use Azure SDK for Rust for interacting with Azure Blob Storage.
    • Implement StoreDriver trait for Azure Store.
    • Implement authentication using Azure SDK for Rust.
    • Implement chunked uploads for large files using put_block and put_block_list methods.
  • Update Store Factory:

    • Modify nativelink-store/src/default_store_factory.rs to include Azure Store in the store factory function.
  • Add Unit Tests:

    • Create nativelink-store/tests/azure_store_test.rs with unit tests for Azure Store.
    • Test basic CRUD operations, error handling, authentication process, and chunked upload functionality.
  • Update Dependencies:

    • Modify nativelink-store/Cargo.toml to include necessary dependencies for Azure Blob Storage.
  • Update Documentation:

    • Modify README.md to include information about the Azure store and how to configure it.
    • Add information about different types of blobs supported by the Azure store.

This change is Reviewable

Related to TraceMachina#1542

Implement Azure Blob Storage (Azure Store) for NativeLink.

* **Add Azure Store Implementation**:
  - Create `nativelink-store/src/azure_store.rs` with Azure Blob Storage store implementation.
  - Use Azure SDK for Rust for interacting with Azure Blob Storage.
  - Implement `StoreDriver` trait for Azure Store.
  - Implement authentication using Azure SDK for Rust.
  - Implement chunked uploads for large files using `put_block` and `put_block_list` methods.

* **Update Store Factory**:
  - Modify `nativelink-store/src/default_store_factory.rs` to include Azure Store in the store factory function.

* **Add Unit Tests**:
  - Create `nativelink-store/tests/azure_store_test.rs` with unit tests for Azure Store.
  - Test basic CRUD operations, error handling, authentication process, and chunked upload functionality.

* **Update Dependencies**:
  - Modify `nativelink-store/Cargo.toml` to include necessary dependencies for Azure Blob Storage.

* **Update Documentation**:
  - Modify `README.md` to include information about the Azure store and how to configure it.
  - Add information about different types of blobs supported by the Azure store.
@CLAassistant
Copy link

CLAassistant commented Dec 23, 2024

CLA assistant check
All committers have signed the CLA.

@vishwamartur
Copy link
Author

cargo add azure_sdk_storage_blob tokio-retry

@vishwamartur vishwamartur marked this pull request as draft December 24, 2024 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants