AWS SDK for Rust
Clone or download
matthewkmayer Merge pull request #1244 from rusoto/question-mark
Question mark instead of try! macro
Latest commit fdf10d4 Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add pull request template. Oct 28, 2018
.semaphoreci Remove use of rustfmt checking in semaphore. Dec 8, 2018
.travis Travis: split unit tests into multiple jobs Jul 10, 2018
assets Add logo assets Feb 24, 2018
helpers Switch from try! to question mark operator Dec 8, 2018
integration_tests Show off new hyper readbufsize config in a test. Dec 8, 2018
mock Rusoto 0.36.0 Dec 8, 2018
rusoto Merge pull request #1244 from rusoto/question-mark Dec 15, 2018
service_crategen Merge branch 'bug/1231-question-mark-operator' of github.com:maxymshg… Dec 12, 2018
skeptical Update skeptic tests. Dec 11, 2018
.gitignore generify HttpClient over HttpConnector Apr 24, 2018
.gitmodules Inline codegen crate into service_crategen (#671) Jun 9, 2017
.travis.yml Only test against stable, beta and nightly. Nov 16, 2018
AWS-CREDENTIALS.md Updating the AWS_CREDENTIALS documentation to update the behavior of … Oct 29, 2018
CHANGELOG.md Merge pull request #1244 from rusoto/question-mark Dec 15, 2018
CODE_OF_CONDUCT.md Add Anthony's email to code of conduct Aug 24, 2017
CONTRIBUTING.md Update CONTRIBUTING with more general process details. Sep 8, 2017
Cargo.toml Merge pull request #1225 from rusoto/add-kinesis-video-archived-media Nov 26, 2018
LICENSE Adds license to codegen crate, updates all license years to 2017. Jan 28, 2017
MAINTAINER_GUIDELINES.md Update maintainer guidelines. Jan 11, 2018
README.md Rusoto 0.36.0 Dec 8, 2018
RELEASING.md Update RELEASING file. Dec 11, 2018
appveyor.yml Be skeptical about our READMEs. Oct 13, 2018
clippy.toml Make Clippy happy :-) Feb 14, 2018

README.md

Rusoto

Linux / OS X travis-badge
Windows appveyor-badge
Ceph and Minio support Build Status
api-docs-badge crates-io license-badge

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.36.0"
rusoto_sqs = "0.36.0"
rusoto_s3 = "0.36.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.

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 or rusoto on crates.io for current version.

Releases

Information on release schedules and procedures are in RELEASING.

Contributing

See CONTRIBUTING.

Supported OSs and Rust versions

Linux, OSX and Windows are supported and tested via TravisCI and Appveyor.

Rust stable is supported. Older versions of Rust are supported and tested via TravisCI. The minimum Rust version is incremented when it becomes inconvenient to support older versions. The current minimum version of Rust supported can be found in .travis.yml. If a version number is not specified in the rust section, only the named versions listed are supported. This should be stable, beta and nightly.

License

Rusoto is distributed under the terms of the MIT license.

See LICENSE for details.