| Crates.io | r2-s3 |
| lib.rs | r2-s3 |
| version | 0.1.8 |
| created_at | 2025-05-09 01:20:36.763774+00 |
| updated_at | 2025-09-13 04:02:38.199596+00 |
| description | a simple cloudflare r2 or asw s3 storage client wrapper |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1666040 |
| size | 78,996 |
The following four environment variables must be set before setup the client
export AWS_ACCESS_KEY_ID=your_key_id
export AWS_SECRET_ACCESS_KEY=your_access_key
export AWS_REGION=auto
export R2_S3_URL=https://your-r2-hash-url.r2.cloudflarestorage.com
use r2_s3::Client;
#[tokio::main]
async fn main() {
let mut args = env::args();
args.next();
let bucket = args.next().unwrap_or("your-bucket".to_string());
let key = args.next().unwrap_or("your_key".to_string());
let client = Client::new(&bucket).await;
// presign a object
let url = client
.presigned_put(&key, None)
.await
.expect("should be ok");
println!("presign put url for {bucket} {key} is: \n'{url}'");
// delete the object
client.delete(&key).unwrap();
// ... see curd mod for more operators
}