#[derive(Debug, Clone)]
pub struct Client {
access_key_id: String,
access_key_secret: String,
endpoint: String,
bucket: String,
}
impl Client {
pub fn from_env() -> anyhow::Result<Self> {
let access_key_id = std::env::var("ALI_OSS_ACCESS_KEY_ID")?;
let access_key_secret = std::env::var("ALI_OSS_ACCESS_KEY_SECRET")?;
let endpoint = std::env::var("ALI_OSS_ENDPOINT")?;
let bucket = std::env::var("ALI_OSS_BUCKET")?;
Ok(Self::new(&access_key_id, &access_key_secret, &endpoint, &bucket))
}
fn new(access_key_id: &str, access_key_secret: &str, endpoint: &str, bucket: &str) -> Self {
Self {
access_key_id: access_key_id.to_string(),
access_key_secret: access_key_secret.to_string(),
endpoint: endpoint.to_string(),
bucket: bucket.to_string(),
}
}
}