huaweicloud-sdk-rust-obs

Crates.iohuaweicloud-sdk-rust-obs
lib.rshuaweicloud-sdk-rust-obs
version0.2.2
sourcesrc
created_at2023-06-05 09:47:29.152991
updated_at2023-08-11 15:48:52.969032
descriptionhuaweicloud obs rust sdk
homepagehttps://github.com/kingzcheung/huaweicloud-sdk-rust-obs
repositoryhttps://github.com/kingzcheung/huaweicloud-sdk-rust-obs
max_upload_size
id882949
size141,694
KK Cheung (kingzcheung)

documentation

README

Huaweicloud OBS SDK (unofficial)

Crates.io Crates.io docs.rs

WIP. 计划只支持基本的 obs 操作。

基本使用

  1. 添加 sdk 到项目中:
cargo add huaweicloud-sdk-rust-obs

2.示例

#[tokio::main]
async fn main() -> Result<(), ObsError> {
    const DEFAULT_BUCKET_NAME:&str = "test_bucket";
    let endpoint = "https://obs.ap-southeast-1.myhuaweicloud.com";
    // see: https://support.huaweicloud.com/api-obs/obs_04_0116.html
    let ak = "xxx"; 
    let sk = "xxxxxx";
    let obs = client::Client::builder()
        .endpoint(endpoint)
        .security_provider(ak, sk)
        .build()?;

    // put object
    let object = include_bytes!("testdata/test.jpeg");
    obs.put_object(DEFAULT_BUCKET_NAME, "obs-client-key.jpeg", object)
        .await?;

    Ok(())

}

测试

  1. 在项目根目录添加 .env文件,内容格式如下:
OBS_AK=XXXXXXXXXXXXXXX
OBS_SK=XXXXXXXXXXXXXXXXXXXX
  1. tests/common/mod.rs 下的 DEFAULT_BUCKET_NAME 替换为自己的 bucket 名称
  2. 运行 cargo test
Commit count: 31

cargo fmt