3 个版本 (破坏性更新)

0.3.0 2022年10月13日
0.2.0 2022年10月11日
0.1.0 2022年7月24日

#12 in #lang

MIT 许可证

18KB
333

oci-rust-sdk

Crates.io MIT licensed Rust codecov

Oracle Cloud Infrastructure SDK for Rust 语言

关于

OCI-Rust-SDK 旨在使用异步方法访问 OCI API。

use oci_sdk::{
    config::AuthConfig,
    identity::Identity
};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    // Set up auth config
    let auth_config = AuthConfig::from_file(
        Some("~/.oci/config".to_string()),
        Some("DEFAULT".to_string())
    );
    // Create a service client
    let identity = Identity::new(auth_config, None);
    //# Get the current user
    let response = identity.get_current_user().await?;
    // parse information
    let body = response.text().await?;

    println!("{}", body);
    // {
    //     "compartment_id": "ocid1.tenancy.oc1...",
    //     "description": "Test user",
    //     "id": "ocid1.user.oc1...",
    //     "inactive_status": null,
    //     "lifecycle_state": "ACTIVE",
    //     "name": "[email protected]",
    //     "time_created": "2016-08-30T23:46:44.680000+00:00"
    // }

    Ok(())}
}

示例

您可以在 测试文件夹 中找到更多示例。

开发

OCI-模拟器

我们建议您使用 oci-emulator 来开发新功能并进行测试。

要这样做,只需运行

docker run -d --name oci-emulator -p 12000:12000 cameritelabs/oci-emulator:latest

然后,您可以使用每个客户端上可用的 service_endpoint 参数来使用它。例如

let auth_config = AuthConfig::from_file(None, None);

Nosql::new(auth_config, Some("https://127.0.0.1:12000".to_string()));

运行测试

我们使用 tarpaulin 生成代码覆盖率。要使用它,您需要使用 cargo 安装它

cargo install tarpaulin

安装后,您可以使用以下命令构建/测试并生成覆盖率

cargo tarpaulin --out Lcov

我们使用 Lcov 格式将覆盖率上传到 codecov。您可以使用 Coverage Gutters 在 VSCode 中查看覆盖率。

如果您不想生成覆盖率,可以直接使用

cargo test

依赖项

~9–24MB
~350K SLoC