Git Product home page Git Product logo

rusoto's Introduction

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:

Requirements

Rust 1.23.0 or later is required.

On Linux, OpenSSL is required.

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.33.0"
rusoto_sqs = "0.33.0"
rusoto_s3 = "0.33.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.

rusoto's People

Contributors

matthewkmayer avatar adimarco avatar srijs avatar mthjones avatar jimmycuadra avatar indiv0 avatar pgerber avatar legokichi avatar cmsd2 avatar eagletmt avatar softprops avatar ktsujister avatar gabriellhrn avatar frewsxcv avatar davideagen avatar ford-prefect avatar kroisse avatar legneato avatar benj-fry-sf avatar bchallenor avatar dtolnay avatar kpcyrd avatar drexler avatar zdevwu avatar jhelwig avatar iamed2 avatar slim-bean avatar drusellers avatar f3rn0s avatar roblabla avatar

Watchers

rsdy avatar James Cloos avatar Rahul Powar avatar Randal Pinto avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.