Apache OpenDAL自由、轻松、高效地访问数据
OpenDAL 提供一个统一、简单、高效、可靠、可观察的数据访问层,让开发者可以无缝地使用不同的存储服务,并享受到最佳的用户体验。
OpenDAL 不仅简化了不同存储服务的接口,还提供自动重试、请求优化和可观察性等特性。开发者只需要使用 OpenDAL 就可以无痛访问数十种存储服务,而无需了解和掌握特定 SDK 的细节。
特性:
- 支持多种存储服务,包括本地文件系统、HDFS、S3、OSS 数十种服务等。
- 提供统一的数据访问接口,无需关心底层存储细节。
- 支持多种常用数据操作,包括
read
、write
、list
等。 - 支持自动重试、请求优化、可观察性机制。
- 零成本,直接映射到 API 调用。
- 跨语言 bindings: Python, Node.js, C (working on) 等
快速开始
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::create(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?; // Fetch metadata let meta = op.stat("hello.txt").await?; let mode = meta.mode(); let length = meta.content_length(); // Delete op.delete("hello.txt").await?; Ok(()) }
更多示例可查看文档。
评论
FrameAccessor轻松访问视图框架
Easywaytoaccessview'sframeiniOSandOSX.Use:view.x=15;view.width=167;insteadofCGRectnewFrame=view.fram
FrameAccessor轻松访问视图框架
0
WikiPlus+更轻松访问维基百科
WikiPlus+新的维基浏览器,更轻松访问维基百科!WikiPlus+是一個基於WikiBrowser的新版本维基浏览器:开源绿色软件,无广告无插件。安全。架构在Firefox和Tor基础上,退出自
WikiPlus+更轻松访问维基百科
0
JFOpenWeatherMapManager访问天气数据
JFOpenWeatherMapManager实现了OpenWeatherMapAPI的Objective-CiOS/MacOSX封装,你可通过简单几行代码来访问天气数据。
JFOpenWeatherMapManager访问天气数据
0
ELinqORM数据访问组件
ELinq是一个轻量简单易用的开源LinqORM数据访问组件,支持Nullable类型和枚举类型,对Linq的谓词提供了完美的支持,旨在让绝大部份的主流数据库都使用Linq来进行程序开发,让开发人员访
ELinqORM数据访问组件
0