34 个版本 (17 个重大更新)

新版本 0.46.1 2024年8月19日
0.45.0 2024年7月29日
0.43.0 2024年3月2日
0.42.0 2023年11月16日
0.30.5 2023年3月31日

#865数据库接口

Download history 149/week @ 2024-05-03 11/week @ 2024-05-10 8/week @ 2024-05-17 4/week @ 2024-05-24 133/week @ 2024-06-07 21/week @ 2024-06-14 140/week @ 2024-06-21 137/week @ 2024-06-28 172/week @ 2024-07-05 10/week @ 2024-07-12 732/week @ 2024-07-26 1869/week @ 2024-08-02 1411/week @ 2024-08-09 1838/week @ 2024-08-16

每月5,854次 下载

Apache-2.0

3MB
60K SLoC

Apache OpenDAL™ 对象存储集成

Build Status Latest Version Crate Downloads chat

object_store_opendal 是一个使用 opendal 实现的 object_store

此包可以帮助您使用相同的 object_store API 访问 30 多个存储服务。

示例

将以下依赖项添加到您的 Cargo.toml 并指定正确的版本

[dependencies]
object_store = "0.10.0"
object_store_opendal = "0.44.0"
opendal = { version = "0.47.0", features = ["services-s3"] }

通过 opendal::Operator 构建 OpendalStore

use std::sync::Arc;

use bytes::Bytes;
use object_store::path::Path;
use object_store::ObjectStore;
use object_store_opendal::OpendalStore;
use opendal::services::S3;
use opendal::{Builder, Operator};

#[tokio::main]
async fn main() {
    let builder = S3::from_map(
        vec![
            ("access_key".to_string(), "my_access_key".to_string()),
            ("secret_key".to_string(), "my_secret_key".to_string()),
            ("endpoint".to_string(), "my_endpoint".to_string()),
            ("region".to_string(), "my_region".to_string()),
        ]
        .into_iter()
        .collect(),
    ).unwrap();

    // Create a new operator
    let operator = Operator::new(builder).unwrap().finish();

    // Create a new object store
    let object_store = Arc::new(OpendalStore::new(operator));

    let path = Path::from("data/nested/test.txt");
    let bytes = Bytes::from_static(b"hello, world! I am nested.");

    object_store.put(&path, bytes.clone().into()).await.unwrap();

    let content = object_store
        .get(&path)
        .await
        .unwrap()
        .bytes()
        .await
        .unwrap();

    assert_eq!(content, bytes);
}

品牌

第一次和最突出的提及必须使用完整形式:对于任何个人使用(网页、手册、幻灯片等),都必须使用 Apache OpenDAL™ 的完整名称。根据上下文和写作风格,您应该足够频繁地使用名称的完整形式,以确保读者清楚地了解 OpenDAL 项目和 OpenDAL 软件产品与 ASF 作为母组织之间的关联。

有关更多详细信息,请参阅 Apache 产品名称使用指南

许可和商标

Apache License,版本 2.0 许可:http://www.apache.org/licenses/LICENSE-2.0

Apache OpenDAL、OpenDAL 和 Apache 是 Apache 软件基金会的注册商标或商标。

依赖项

~11–23MB
~348K SLoC