1 个不稳定版本
0.46.0 | 2020年12月22日 |
---|
#159 in 测试
670 每月下载量
在 215 crates 中使用
105KB
2K SLoC
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.toml 或 rusoto 在 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