tonbo-io / fusio

Fusio provides file operations on multiple storages across various async runtimes.
Apache License 2.0
202 stars 8 forks source link

Azure Blob Storage support #44

Open ethe opened 1 month ago

ethe commented 1 month ago

In the current, fusio does not support Azure, we could implement traits for Azure, refer to fusio::impls::remotes::aws and object_store::azure

Xuanwo commented 2 weeks ago

The following pseudocode should work:

use opendal::Operator;
use opendal::services::Azblob;
use fusio_opendal::OpendalFs;

async fn main() -> {
    let op = Operator::new(Azblob::default().bucket("test"))?.finish();
    let ofs = OpendalFs::from(op);

    // Now, use ofs as fusio::Fs!
    let f = ofs.open("path", OpenOptions::default()).await?;
    ...
}

Maybe we can add in docs somewhere?