1 个不稳定版本

0.46.0 2020年12月22日

#159 in 测试

Download history 139/week @ 2024-03-13 232/week @ 2024-03-20 402/week @ 2024-03-27 267/week @ 2024-04-03 181/week @ 2024-04-10 186/week @ 2024-04-17 198/week @ 2024-04-24 239/week @ 2024-05-01 195/week @ 2024-05-08 190/week @ 2024-05-15 200/week @ 2024-05-22 147/week @ 2024-05-29 146/week @ 2024-06-05 151/week @ 2024-06-12 150/week @ 2024-06-19 221/week @ 2024-06-26

670 每月下载量
215 crates 中使用

MIT 许可证

105KB
2K SLoC

Rusoto

api-docs-badge crates-io license-badge dependency-status-badge

Rusoto 是 Rust 的 AWS SDK


你可能想查找

维护状态

⚠️ Rusoto 处于 维护模式。 ⚠️

当前维护者只能处理依赖项升级和明显的错误修复。我们对审查新功能的能力非常有限。

虽然你欢迎提交实现新功能或重构现有代码的 PR,但除非我们能找到更多活跃的维护者,否则它们不太可能被合并。

请参阅 Meta: Rusoto 的未来 (#1651) 获取详细信息。

安装

Rusoto 可在 crates.io 上找到。要在使用 Cargo 构建的 Rust 程序中使用 Rusoto,将其作为依赖项添加,并为任何你想要使用的受支持的 AWS 服务添加 rusoto_$SERVICENAME

例如,仅包含 S3 和 SQS

[dependencies]
rusoto_core = "0.48.0"
rusoto_sqs = "0.48.0"
rusoto_s3 = "0.48.0"

迁移说明

重大更改和迁移细节在 https://rusoto.org/migrations.html 中记录。

请注意,从 v0.43.0 版本开始,Rusoto 使用 Rust 的 std::future::Future,以及 Tokio 0.2 生态系统。从 v0.46.0 版本开始,Rusoto 使用 Tokio 1.0 生态系统。

用法

Rusoto 为每个 AWS 服务提供了一个 crate,其中包含该服务的 API 的 Rust 类型。这些服务的完整列表可以在这里找到。所有其他公共类型都被重新导出到 crate 根目录。要获取完整详情,请运行 cargo doc 或访问在线 文档(最新的 crates.io 发布版)。

使用 Rusoto 的 DynamoDB API 列出数据库中所有表名的简单示例

use rusoto_core::Region;
use rusoto_dynamodb::{DynamoDb, DynamoDbClient, ListTablesInput};

#[tokio::main]
async fn main() {
    let client = DynamoDbClient::new(Region::UsEast1);
    let list_tables_input: ListTablesInput = Default::default();

    match client.list_tables(list_tables_input).await {
        Ok(output) => match output.table_names {
            Some(table_name_list) => {
                println!("Tables in database:");

                for table_name in table_name_list {
                    println!("{}", table_name);
                }
            }
            None => println!("No tables in database!"),
        },
        Err(error) => {
            println!("Error: {:?}", error);
        }
    }
}

凭证

有关 Rusoto 对 AWS 凭证的用法(如优先级和刷新)的更多信息,请参阅 AWS 凭证

语义版本控制

Rusoto 遵循 语义版本控制 2.0.0。在达到 1.0.0 之前,API 被视为不稳定。有关当前版本,请参阅 Cargo.tomlrusoto 在 crates.io

发布

有关发布计划和流程的信息请参阅 RELEASING

贡献

讨论在 Rusoto Discord 频道 上进行。

有关更多信息,请参阅 CONTRIBUTING

支持的操作系统、Rust 版本和非 AWS 项目

支持并测试 Linux、macOS 和 Windows,通过 GitHub actions

支持 Rust 稳定版、beta 版和夜间版。

Rusoto 的主要目标是与 AWS 一起使用。其他提供类似 AWS API 的项目,如 Ceph、Minio、Yandex Object Storage 等,目前不是重点。欢迎修复 Rusoto 和类似 AWS API 的问题的 PR,但通常不会由 Rusoto 维护者创建。

许可

Rusoto 在 MIT 许可证的条款下分发。

有关详细信息,请参阅 LICENSE

依赖项

~14–24MB
~356K SLoC