cos_rust_sdk/lib.rs
1//! # 腾讯云 COS Rust SDK
2//!
3//! 这是一个用于腾讯云对象存储(COS)的 Rust SDK,提供了完整的 COS API 功能。
4//!
5//! ## 快速开始
6//!
7//! ```rust
8//! use cos_rust_sdk::{Config, CosClient, ObjectClient};
9//! use std::time::Duration;
10//!
11//! #[tokio::main]
12//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
13//! // 创建配置
14//! let config = Config::new(
15//! "your-secret-id",
16//! "your-secret-key",
17//! "ap-beijing",
18//! "your-bucket-name-appid"
19//! ).with_timeout(Duration::from_secs(30));
20//!
21//! // 创建客户端
22//! let cos_client = CosClient::new(config)?;
23//! let object_client = ObjectClient::new(cos_client.clone());
24//!
25//! // 上传文件
26//! let data = b"Hello, COS!";
27//! object_client.put_object("test.txt", data.to_vec(), Some("text/plain")).await?;
28//!
29//! // 下载文件
30//! let response = object_client.get_object("test.txt").await?;
31//! println!("Downloaded: {}", String::from_utf8_lossy(&response.data));
32//!
33//! Ok(())
34//! }
35//! ```
36
37pub mod auth;
38pub mod bucket;
39pub mod client;
40pub mod config;
41pub mod error;
42pub mod object;
43pub mod sts;
44
45// 重新导出主要类型
46pub use auth::Auth;
47pub use bucket::{BucketClient, BucketAcl, ListObjectsOptions, ListObjectsV2Options};
48pub use client::CosClient;
49pub use config::Config;
50pub use error::{CosError, Result};
51pub use object::{ObjectClient, PutObjectResponse, GetObjectResponse, DeleteObjectResponse, HeadObjectResponse};
52pub use sts::{StsClient, TemporaryCredentials, Policy, Statement, GetCredentialsRequest};
53
54/// SDK 版本
55pub const VERSION: &str = env!("CARGO_PKG_VERSION");
56
57/// 用户代理字符串
58pub const USER_AGENT: &str = concat!("cos-rust-sdk/", env!("CARGO_PKG_VERSION"));