Crate aliyun_oss_rs

source ·
Expand description

阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。

设计遵循极简、实用原则,尽可能通过链式操作,OssClient - OssBucket - OssObject - Operation 层级结构,实现了部分常用API,目前不支持的API在后续会逐步增加。

提醒
  • 暂不支持版本控制功能,如你的存储空间已经开启了版本控制,可能会出现功能和数据不全的情况
  • 暂不支持服务端加密的相关功能
  • 大部份方法的参数的字符合法性未进行校验,需要严格按照OSS要求传参,否则可能会产生本地或远程错误

使用方法

初始化
let client = OssClient::new(
"Your AccessKey ID",
"Your AccessKey Secret",
);
查询存储空间列表
let bucket_list = client.list_buckets().set_prefix("rust").send().await;
查询存储空间中文件列表
let bucket = client.bucket("for-rs-test","oss-cn-zhangjiakou.aliyuncs.com");
let files = bucket.list_objects().send().await;
上传文件
let object = bucket.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_object_url().url(date);

Modules

  • 存储空间是用于存储文件(Object)的容器,所有的文件都必须隶属于某个存储空间。
  • 包括AccessKey和EndPoint信息的基础服务
  • 公共数据定义
  • 文件是 OSS 存储数据的基本单元,文件由元信息、用户数据和文件名(Key)组成,文件由存储空间内部唯一的Key来标识。

Structs

  • OSS存储空间,实现了新建存储空间、获取存储空间信息、文件列表等API
  • OSS容器入口,实现了查询OSS开服地域信息和查询存储空间列表两个API
  • OSS文件,实现了上传文件、删除文件等API

Enums