Crates.io | r2-s3 |
lib.rs | r2-s3 |
version | 0.1.7 |
created_at | 2025-05-09 01:20:36.763774+00 |
updated_at | 2025-06-27 03:18:54.709048+00 |
description | a simple cloudflare r2 or asw s3 storage client wrapper |
homepage | |
repository | |
max_upload_size | |
id | 1666040 |
size | 78,747 |
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
}