Popularity
7.2
-
Activity
9.3
Growing
13
38
226

Description

AWS SDK for Rust

IRC: #rusoto on irc.freenode.net.

Monthly Downloads: 109
Programming language: Rust
License: MIT License
Tags: API     Lib     AWS     Cloud     amazon    
Latest version: v0.41.1

Rusoto alternatives and similar packages

Based on the "Cloud" category

Do you think we are missing an alternative of Rusoto or a related project?

Add another 'Cloud' Package

README

[Rusoto](./assets/logo-wide.png)

Linux / OS X Windows Ceph and Minio support

Rusoto is an AWS SDK for Rust


You may be looking for:

Installation

Rusoto is available on crates.io. To use Rusoto in your Rust program built with Cargo, add it as a dependency and rusoto_$SERVICENAME for any supported AWS service you want to use.

For example, to include only S3 and SQS:

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

Migration notes

Breaking changes and migration details are documented at https://rusoto.org/migrations.html.

Usage

Rusoto has a crate for each AWS service, containing Rust types for that service's API. A full list of these services can be found here. All other public types are reexported to the crate root. Consult the rustdoc documentation for full details by running cargo doc or visiting the online documentation for the latest crates.io release.

A simple example of using Rusoto's DynamoDB API to list the names of all tables in a database:

extern crate rusoto_core;
extern crate rusoto_dynamodb;

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

fn main() {
    let client = DynamoDbClient::new(Region::UsEast1);
    let list_tables_input: ListTablesInput = Default::default();

    match client.list_tables(list_tables_input).sync() {
        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);
        },
    }
}

Credentials

For more information on Rusoto's use of AWS credentials such as priority and refreshing, see [AWS Credentials](AWS-CREDENTIALS.md).

Semantic versioning

Rusoto complies with semantic versioning 2.0.0. Until reaching 1.0.0 the API is to be considered unstable. See [Cargo.toml](Cargo.toml) or rusoto on crates.io for current version.

Releases

Information on release schedules and procedures are in [RELEASING](RELEASING.md).

Contributing

See [CONTRIBUTING](CONTRIBUTING.md).

Supported OSs, Rust versions and non-AWS projects

Linux, OSX and Windows are supported and tested via Azure Pipelines and Appveyor.

Rust stable, beta and nightly are supported.

Rusoto's primary aim is to be used with AWS. Other projects that provide AWS-like APIs, such as Ceph, Minio, Yandex Object Storage, etc... are not a focus at this time. PRs to fix issues with Rusoto and AWS-like APIs are welcome but generally won't be created by Rusoto maintainers.

License

Rusoto is distributed under the terms of the MIT license.

See LICENSE for details.


*Note that all licence references and agreements mentioned in the Rusoto README section above are relevant to that project's source code only.