7 个版本
0.0.7 | 2024年7月4日 |
---|---|
0.0.6 | 2024年7月3日 |
0.0.5 | 2023年7月19日 |
0.0.2 | 2023年6月17日 |
#567 在 网页开发
每月305 次下载
140KB
3K SLoC
阿里云对象存储服务(Object Storage Service,简称 OSS)的非官方 SDK 实现,无复杂结构设计,链式风格
初始化
let client = OssClient::new("Your AccessKey ID","Your AccessKey Secret");
查询存储空间列表
let buckets = client.list_buckets().set_prefix("rust").send().await;
查询存储空间中文件列表
let bucket = client.bucket("for-rs-test","oss-cn-zhangjiakou.aliyuncs.com")
.list_objects()
.set_max_objects(200)
.set_prefix("rust")
.send()
.await;
上传文件
let object = client.bucket("for-rs-test").object("rust.png");
let result = object.put_object().send_file("Your File Path").await;
获取文件访问地址
use chrono::{Duration, Local};
let date = Local::now().naive_local() + Duration::days(3);
let url = object.get_url().url(date);
已实现接口
-
基础操作
- 列举存储空间列表 (ListBuckets)
- 列举 OSS 开服地域信息 (DescribeRegions)
-
存储空间管理
- 新建存储空间 (PutBucket)
- 删除存储空间 (DeleteBucket)
- 列举存储空间内文件列表 (ListObjectsV2)
- 获取存储空间基本信息 (GetBucketInfo)
- 获取存储空间统计信息 (GetBucketStat)
- 批量删除文件 (DeleteMultipleObjects)
- 列举未完成的分片上传事件 (ListMultipartUploads)
-
文件管理
- 上传文件 (PutObject)
- 下载文件 (GetObject)
- 复制文件 (CopyObject)
- 追加文件 (AppendObject)
- 删除文件 (DeleteObject)
- 解冻文件 (RestoreObject)
- 获取文件元信息 (HeadObject)
- 获取文件元信息 (GetObjectMeta)
- 获取文件访问地址 (GetObjectUrl)
- 文件分片上传 (MultipartUpload)
- 初始化分片上传事件 (InitiateMultipartUpload)
- 上传分片 (UploadPart)
- 复制文件内容到分片 (UploadPartCopy)
- 完成分片上传 (CompleteMultipartUpload)
- 取消分片上传事件 (AbortMultipartUpload)
- 列举已上传的分片 (ListParts)
- 文件权限 (ACL)
- 获取文件权限 (GetObjectACL)
- 设置文件权限 (PutObjectACL)
- 文件标签 (Tagging)
- 获取文件标签 (GetObjectTagging)
- 设置文件标签 (PutObjectTagging)
- 清空文件标签 (DeleteObjectTagging)
- 软链接 (Symlink)
- 新增软链接 (PutSymlink)
- 获取软链接 (GetSymlink)
依赖
~13–25MB
~471K SLoC