v0.5.0
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