Files
qiming/qiming-mcp-proxy/oss-client/README_zh-CN.md
2026-06-01 13:03:20 +08:00

87 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OSS Client
**[English](README.md)** | **[简体中文](README_zh-CN.md)**
---
# OSS Client
简洁易用的阿里云 OSS (Object Storage Service) 操作库,提供基本的文件操作和签名 URL 功能。
## 功能特性
### OssClientTrait (统一接口)
- **统一接口**: 定义了OSS客户端的基本操作接口
- **多态支持**: 支持私有bucket和公有bucket客户端的统一使用
- **代码复用**: 减少重复代码,提高维护性
### OssClient (私有Bucket客户端)
- **文件操作**: 上传、下载、删除文件
- **签名URL**: 生成带过期时间的上传/下载签名URL
- **文件管理**: 检查文件存在性、生成唯一对象键
- **连接测试**: 测试OSS连接状态
### PublicOssClient (公有Bucket客户端)
- **公开访问**: 生成无需签名的公开下载/访问URL
- **批量操作**: 批量生成公开URL
- **文件操作**: 上传、下载、删除文件使用公有bucket
- **签名URL**: 生成上传签名URL使用公有bucket
- **文件管理**: 检查文件存在性、生成唯一对象键
- **连接测试**: 测试公有bucket连接状态
- **元信息获取**: 获取文件元信息通过HTTP HEAD请求
## 安装
在你的 `Cargo.toml` 中添加依赖:
```toml
[dependencies]
oss-client = { path = "../oss-client" } # 如果在同一个 workspace 中
# 或者
oss-client = "0.1.0" # 如果发布到 crates.io
```
## 快速开始
### 环境变量配置
```bash
export OSS_ACCESS_KEY_ID="your_access_key_id"
export OSS_ACCESS_KEY_SECRET="your_access_key_secret"
```
### 基本使用
```rust
use oss_client::{OssClient, OssConfig};
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 从环境变量创建客户端(推荐方式)
let client = oss_client::create_client_from_env()?;
// 上传文件
let upload_url = client.upload_file("local/document.pdf", "uploads/document.pdf")?;
println!("文件上传成功: {}", upload_url);
// 检查文件是否存在
let exists = client.file_exists("uploads/document.pdf")?;
println!("文件存在: {}", exists);
// 下载文件
client.download_file("uploads/document.pdf", "downloaded/document.pdf")?;
println!("文件下载成功");
Ok(())
}
```
## 许可证
MIT OR Apache-2.0
## 贡献
欢迎提交 Issue 和 Pull Request