一个非官方的阿里云OSS SDK

rust初学者,边学边写阿里云oss非官方的sdk,欢迎批评指正 :)
crates.io/crates/xt-oss

//! `cargo run --example api_region_describe -q`
//!
//! 调用DescribeRegions接口查询所有支持地域或者指定地域对应的Endpoint信息,
//! 包括外网Endpoint、内网Endpoint和传输加速Endpoint。
use dotenv;
use std::process;
use xt_oss::prelude::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
   // 从环境加载配置
   dotenv::dotenv().ok();
   let options = util::options_from_env();
   // builder 配置
   // let options = oss::Options::new()
   //     .with_access_key_id("-- your access_key_id --")
   //     .with_access_key_secret("-- your access_key_secret --");
   let client = oss::Client::new(options);
   match client
       .DescribeRegions()
       // .with_region("oss-us-east-1")
       .execute()
       .await
       // 处理可能的reqwest错误
       .unwrap_or_else(|reqwest_error| {
           println!("reqweset error: {}", reqwest_error);
           process::exit(-1);
       }) {
       // 处理正常返回的数据
       Ok(oss_data) => {
           oss_data.content()
                   .region_info.iter()
                   .for_each(|entry| {
                       println!("{:>20} | {}", entry.region, entry.internet_endpoint);
           });
       }
       // 处理oss错误信息
       Err(error_message) => {
           // let message = error_message.content();
           println!("request id: {}", &error_message.request_id());
           println!("oss error: {}", &error_message.content());
       }
   }
   Ok(())
}
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!