aws-config 0.2.0

AWS SDK config and credential provider implementations.


AWS SDK config and credential provider implementations.

Please Note: The SDK is currently released as an alpha and is intended strictly for feedback purposes only. Do not use this SDK for production workloads.

The implementations can be used either via the default chain implementation from_env/ConfigLoader or ad-hoc individual credential and region providers.

A ConfigLoader can combine different configuration sources into an AWS shared-config Config. The Config can then be used to configure one or more AWS service clients.


Load default SDK configuration:

async fn example() {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_dynamodb::Client::new(&config);

Load SDK configuration with a region override:

use aws_config::meta::region::RegionProviderChain;

async fn example() {
    let region_provider = RegionProviderChain::default_provider().or_else("us-east-1");
    let config = aws_config::from_env().region(region_provider).load().await;
    let client = aws_sdk_dynamodb::Client::new(&config);

Getting Started

Examples are available for many services and operations, check out the examples folder in GitHub.

The SDK provides one crate per AWS service. You must add Tokio as a dependency within your Rust project to execute asynchronous code. To add aws-sdk-config to your project, add the following to your Cargo.toml file where VERSION is the version of the SDK you want to use:

aws-config = "VERSION"
aws-sdk-config = "VERSION"
tokio = { version = "1", features = ["full"] }

Using the SDK

Until the SDK is released, we will be adding information about using the SDK to the Guide. Feel free to suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help


This project is licensed under the Apache-2.0 License.

This crate is part of the AWS SDK for Rust and the smithy-rs code generator. In most cases, it should not be used directly.