mz_rusoto_core

Crates.iomz_rusoto_core
lib.rsmz_rusoto_core
version0.46.0
sourcesrc
created_at2020-12-22 02:13:49.303585
updated_at2020-12-22 02:13:49.303585
descriptionAWS SDK for Rust - Core
homepagehttps://www.rusoto.org/
repositoryhttps://github.com/rusoto/rusoto
max_upload_size
id325528
size92,454
Crate owners (github:materializeinc:crate-owners)

documentation

https://docs.rs/rusoto_core

README

Rusoto Core

Linux / OS X pipelines-badge
Windows appveyor-badge
api-docs-badge crates-io license-badge

Rusoto is an AWS SDK for Rust

⚠️ This is the Materialize fork of Rusoto. ⚠️

Rusoto has been unmaintained for several months. We expect that Amazon will soon announce plans to take over Rusoto or release an official Rust SDK. In the meantime, we are performing a minimal amount of maintenance. We will accept dependency bumps and obvious bug fixes.

Crates are published with an "mz" prefix, as in mz_rusoto_core.


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]
mz_rusoto_core = "0.46.0"
mz_rusoto_sqs = "0.46.0"
mz_rusoto_s3 = "0.46.0"

Migration notes

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

Note that from v0.43.0 onward, Rusoto uses Rust's std::future::Future, and the Tokio 0.2 ecosystem.

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:

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);
        }
    }
}

Usage with rustls

If you do not want to use OpenSSL, you can replace it with rustls by editing your Cargo.toml:

[dependencies]
rusoto_core = { version="0.46.0", default_features=false, features=["rustls"] }
rusoto_sqs = { version="0.46.0", default_features=false, features=["rustls"] }
rusoto_s3 = { version="0.46.0", default_features=false, features=["rustls"] }

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 Azure Pipelines and Appveyor.

Rust stable, beta and nightly are supported.

License

Rusoto is distributed under the terms of the MIT license.

See LICENSE for details.

Commit count: 3175

cargo fmt