Xuanwo commented on code in PR #2169: URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104570
########## README.md: ########## @@ -1,102 +1,41 @@ +<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="website/static/img/logo_dark.svg"> <img alt="Apache OpenDAL(incubating)" src="website/static/img/logo.svg" width="300px"> </picture> +</p> -[![Build Status]][actions] [![chat]][discord] +--- -[build status]: https://img.shields.io/github/actions/workflow/status/apache/incubator-opendal/ci.yml?branch=main -[actions]: https://github.com/apache/incubator-opendal/actions?query=branch%3Amain -[chat]: https://img.shields.io/discord/1081052318650339399 -[discord]: https://discord.gg/XQy8yGR2dg - -**Open** **D**ata **A**ccess **L**ayer: Access data freely, painlessly, and efficiently +OpenDAL is a data access layer that allows users to easily and efficiently retrieve data from various storage services in an unified way.  -## Components - -- [core](core/README.md): OpenDAL Rust Core - - Documentation: [stable](https://docs.rs/opendal/) | [main](https://opendal.apache.org/docs/rust/opendal/) -- [binding-c](bindings/c): OpenDAL C Binding (working on) -- [binding-java](bindings/java): OpenDAL Java Binding (working on) -- [binding-nodejs](bindings/nodejs/README.md): OpenDAL Node.js Binding - - Documentation: [main](https://opendal.apache.org/docs/nodejs/) -- [binding-python](bindings/python/README.md): OpenDAL Python Binding - - Documentation: [main](https://opendal.apache.org/docs/python/) -- [binding-ruby](bindings/ruby): OpenDAL Ruby Binding (working on) -- bin - - [oli](bin/oli): OpenDAL Command Line Interface - -## Quickstart - -### Rust - -```rust -use opendal::Result; -use opendal::layers::LoggingLayer; -use opendal::services; -use opendal::Operator; - -#[tokio::main] -async fn main() -> Result<()> { - // Pick a builder and configure it. - let mut builder = services::S3::default(); - builder.bucket("test"); - - // Init an operator - let op = Operator::new(builder)? - // Init with logging layer enabled. - .layer(LoggingLayer::default()) - .finish(); - - // Write data - op.write("hello.txt", "Hello, World!").await?; - // Read data - let bs = op.read("hello.txt").await?; +Major components of the project include: - // Fetch metadata - let meta = op.stat("hello.txt").await?; - let mode = meta.mode(); - let length = meta.content_length(); +**Libraries** - // Delete - op.delete("hello.txt").await?; +- [Rust Core](core/README.md) +- [Node.js Binding](bindings/nodejs/README.md) +- [Python Binding](bindings/python/README.md) +- [C Binding](bindings/c) *working on* +- [Java Binding](bindings/java) *working on* +- [Ruby Binding](bindings/ruby): *working on* Review Comment: Fixed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
