github apache/opendal v0.5.0

latest releases: v0.50.0, bindings/go/v0.1.3, bindings/go/v0.1.3-rc.2...
2 years ago

This release introduces the following new features:

Object::create API

Now, we can create an empty file or directory without a trick!

Read Object::create to know more!

Create empty file

let o = op.object("path/to/file");
let _ = o.create().await?;

Create dir

let o = op.object("path/to/dir/");
let _ = o.create().await?;

Native decompress read support

Now, we can read a compressed file natively!

Enable compress features:

opendal = {version="0.5.0", feautres=["compress"]}

Read with decompress_read() or decompress_reader()!

let o = op.object("path/to/file.gz");
let bs = o.decompress_read().await?;

Azblob support

With the help from @D2Lark, we have official support for azblob now!

Refer to azblob for more information.

// Create azblob backend builder.
let mut builder: Builder = azblob::Backend::build();
// Set the root for azblob, all operations will happen under this root.
//
// NOTE: the root must be absolute path.
builder.root("/path/to/dir");
// Set the container name, this is required.
builder.container("test");
// Set the endpoint, this is required.
//
// For examples:
// - "http://127.0.0.1:10000/devstoreaccount1"
// - "https://accountname.blob.core.windows.net"
builder.endpoint("http://127.0.0.1:10000/devstoreaccount1");
// Set the account_name and account_key.
//
// OpenDAL will try load credential from the env.
// If credential not set and no valid credential in env, OpenDAL will
// send request without signing like anonymous user.
builder.account_name("devstoreaccount1");
builder.account_key("Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==");
// Build the `Accessor`.
let accessor: Arc<dyn Accessor> = builder.finish().await?;

// `Accessor` provides the low level APIs, we will use `Operator` normally.
let op: Operator = Operator::new(accessor);

What's Changed

  • feat: Improve error message by @Xuanwo in #220
  • RFC-0221: Create Dir by @Xuanwo in #221
  • feat: Implement RFC-0221 Create Dir by @Xuanwo in #223
  • refactor: Move op.objects() to o.list() by @Xuanwo in #224
  • feat: Simplify create API by @Xuanwo in #225
  • feat: Implement decompress read support by @Xuanwo in #227
  • fix: Azblob should pass all behavior tests now by @Xuanwo in #228
  • ci: Enable behavior test for azblob by @Xuanwo in #229
  • docs: Add docs for azblob's public structs by @Xuanwo in #230
  • refactor: Improve behavior_tests so that cargo test works without --all-features by @Xuanwo in #231
  • Bump to version 0.5.0 by @Xuanwo in #232

Full Changelog: v0.4.2...v0.5.0

Don't miss a new opendal release

NewReleases is sending notifications on new releases.