#sdk #oss #cloud #aliyun #alibaba #storage #cloud-storage

aliyun-oss-rs

阿里云对象存储服务(Object Storage Service,简称 OSS)的非官方 SDK 实现

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网页开发

Download history 1/week @ 2024-06-02 3/week @ 2024-06-09 10/week @ 2024-06-16 239/week @ 2024-06-30 36/week @ 2024-07-07 10/week @ 2024-07-14 20/week @ 2024-07-21

每月305 次下载

MIT 许可证

140KB
3K SLoC

Crates.io Documentation MIT licensed

阿里云对象存储服务(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