#对象存储 #S3 #Amazon S3 #S3 兼容 #Wasabi #GCP #MinIO

zitane-s3-async

Rust 库,用于操作 AWS S3 和兼容的对象存储 API

1 个不稳定版本

0.37.0 2023年7月15日
0.36.0 2023年7月15日

#6 in #minio

MIT 许可证

205KB
4K SLoC

ZitaneLabs/rust-s3-async

License: MIT

分支通知

这是 aalekhpatel07/rust-s3-async 的分支,而 durch/rust-s3 是其分支。

它用于我们的内部和即将推出的项目,不打算供任何人使用。

简介

Rust 库,用于操作 Amazon S3 或任意 S3 兼容 API,完全兼容 async/await。底层使用 tokio

快速入门

阅读并运行 examples 文件夹中的示例,确保你有正在运行的变体的有效凭证。

# tokio, default
cargo run --example tokio

# minio
# First, start Minio on port 9000.
AWS_ACCESS_KEY_ID="minioadmin" \
AWS_SECRET_ACCESS_KEY="minioadmin" \
    cargo run --example minio

# r2
cargo run --example r2

# google cloud
cargo run --example google-cloud

功能

有许多各种功能,支持各种用例,请参阅 s3/Cargo.toml 以获取完整列表。

  • default - tokio 运行时和 native-tls 实现
  • no-verify-ssl - 禁用端点的 SSL 验证,对于自定义区域很有用

路径或子域名样式 URL 和标头

Bucket 结构提供 path-style 路径的构造函数,subdomain 样式是默认的。 Bucket 提供配置和访问 path-style 配置的方法。

API

存储桶

  • 创建
  • 删除
  • 列表
  • 存在
  • 位置

对象

  • head_object
  • get_object
  • get_object_stream
  • get_object_to_writer
  • put_object
  • put_object_with_content_type
  • put_object_stream
  • put_object_tagging
  • delete_object
  • object_exists

预签名

  • presign_post
  • presign_put
  • presign_get
  • presign_delete

依赖关系

~12–24MB
~373K SLoC