14 个版本
0.1.14 | 2024 年 7 月 23 日 |
---|---|
0.1.13 | 2024 年 7 月 15 日 |
0.1.12 | 2024 年 6 月 4 日 |
0.1.11 | 2024 年 5 月 7 日 |
0.1.4 | 2024 年 1 月 16 日 |
#163 in 异步
168 每月下载量
5.5MB
1.5K SLoC
minior
基于 aws_sdk_s3
crate 的 Minio 人体工学客户端。
目录
需求
安装
cargo添加 minior
文档
此 README 提供了概述,但并未涵盖所有可用方法。 完整的 crate 文档可以在 docs.rs 上找到
使用方法
概述
该 crate 提供了一个 Minio
结构体,可以用来与所有 core
模块进行接口交互,然而 core
是公开的,因此可以直接与这些方法交互。
基本示例
use minior::Minio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Construct a client
let minio = Minio::new("http://127.0.0.1:9000").await;
// Create a bucket
minio.create_bucket("sharks").await?;
// Upload a object
let file = tokio::fs::File::open("some file path").await?;
minio.upload_object(
"sharks",
"shark",
file,
None,
).await?;
// Get a Presigned URL for a get that expires in 1_337 seconds
let presigned_request = minio.get_object_presigned(
"sharks",
"shark",
1_337,
).await?;
// Delete a object
minio.delete_object(
"sharks",
"shark",
).await?;
// Delete a bucket
minio.delete_bucket(
"sharks",
true,
).await?;
Ok(())
}
功能
pagination_iter
:通过core::pagination_iter
或Minio::pagination_object_iter
提供对ObjectPaginationIter
的访问,以便异步分页处理 bucket 中的对象。
错误报告
请通过创建一个 issue
来报告错误,或者如果您知道足够的修复方案,请随意打开一个 PR,但请遵循下面的 Contributing
指南。
为了报告错误,它必须与此 crate 直接相关,并且您必须尽可能提供信息,例如
-
代码示例
-
错误消息
-
重现步骤
-
系统信息(如适用)
功能请求
如果您觉得缺少了某些内容,或者当前crate的某些变体需要除aws-sdk-s3
、aws-config
或tokio
之外的其他依赖项,请创建一个issue
,说明您的需求,并讨论为什么您认为它应该包含在这个crate中,而不是第三方crate。
贡献
我欢迎任何人对此crate做出贡献。但我也有一些基本要求
-
任何额外的或修改的方法都需要进行单元测试,测试覆盖率应为100%,并将测试放在
tests
模块中。 -
任何增加额外依赖项的更改应作为一个单独的功能创建。
-
所有当前的单元测试都必须通过,即运行
cargo test
,并且所有测试都应通过。 -
如果尚未添加,请在
CONTRIBUTORS.md
中添加您的姓名或昵称,以及文件标题注释中的Authors
部分。 -
如果添加了新的依赖项,请更新此README中的
License::Third Party
以与其许可协议相匹配。
如果您的更改符合这些指南,请随时提交PR。
项目状态
我计划在未来维护这个crate。
许可证
MIT
有关更多信息,请参阅LICENSE.md
第三方
此crate建立在以下crate之上
-
aws-config
和aws-sdk-s3
以及aws-smithy-async
,这些crate遵循Apache License 2.0许可,在此查看。
依赖项
~26MB
~406K SLoC