xt-oss-0.4.2 has been yanked.
XT - Aliyun OSS SDK
这是一个Rust语言编写的阿里云OSS的SDK,依据官网文档并参考了其他语言的实现。
- 基于
tokio-rs异步运行时与流行的reqwest库实现. - 尽量完整的OSS数据结构描述(
struct、enum). Builder设计模式的传参风格.- 实现常用的大部分API.
- 完整
Examples演示.
[]
= { = "1.36.0", = ["full"]}
# xt-oss = { git = "https://github.com/isme-sun/xt_oss", version = "0.1.0" }
//! `cargo run --example api_region_describe -q`
//!
//! 调用DescribeRegions接口查询所有支持地域或者指定地域对应的Endpoint信息,
//! 包括外网Endpoint、内网Endpoint和传输加速Endpoint。
use dotenv;
use process;
use *;
async
Options 配置
access_key_id通过阿里云控制台创建的AccessKey IDaccess_key_secret通过阿里云控制台创建的AccessKey Secretsts_token使用临时授权方式bucket通过控制台或PutBucket创建的BucketendpointOSS访问域名。regionBucket所在的区域,默认值为oss-cn-hangzhouinternal是否使用阿里云内网访问,默认值为falsecname是否支持上传自定义域名,默认值为falseis_request_payBucket是否开启请求者付费模,默认值为falsesecure设置secure为true,则使用HTTPS;设置secure为false,则使用HTTPtimeout超时时间,默认值为60秒
构建方式
// 构建方式
let options = new
.with_access_key_id
.with_access_key_secret
.with_bucket
.with_cname
.with_endpoint
.with_internal
.with_region
.with_secret
// .with_sts_token("sts token")
.with_timeout;
let client = new;
从.env加载,格式参见 .env.example.
// ...
dotenv.ok;
let options = options_from_env;
let client = new;
// ...
参数构建
错误处理
其他
实现的Api
关于Service/Region
Bucket - 基础操作
- ★
PutBucket - ★
DeleteBucket - ★
ListObjects - ★
ListObjectsV2 - ★
GetBucketInfo - ★
GetBucketLocation - ★
GetBucketStat
合规保留策略(WORM)
Bucket 权限控制(ACL)
Bucket 生命周期(Lifecycle)
Bucket 传输加速(TransferAcceleration)
Bucket 版本控制(Versioning)
Bucket 授权策略(Policy)
Bucket 日志管理(Logging)
Bucket 静态网站(Website)
Bucket 防盗链(Referer)
Bucket 标签(Tags)
Bucket 加密(Encryption)
Bucket 跨域资源共享(CORS)
Bucket 自定义域名(CNAME)
Bucket 图片样式(Style)
Object 基础操作 Stand
- ★
PutObject - ★
GetObject - ★
CopyObject - ★
AppendObject - ★
DeleteObject - ★
DeleteMultipleObjects - ★
HeadObject - ★
GetObjectMeta
Object 分片上传(MultipartUpload)
- ★
InitiateMultipartUpload - ★
UploadPart - ★
UploadPartCopy - ★
CompleteMultipartUpload - ★
AbortMultipartUpload - ★
ListMultipartUploads - ★
ListParts