Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Hello tutorial for the AWS SDK for Rust

Focus mode
Hello tutorial for the AWS SDK for Rust - AWS SDK for Rust

Prerequisites

In order to use the AWS SDK for Rust, you must have Rust and Cargo installed.

The following optional tools can be installed in your IDE to assist with code completion and troubleshooting.

Create your first SDK app

This procedure creates your first SDK for Rust application that lists your DynamoDB tables.

  1. In a terminal or console window, navigate to a location on your computer where you want to create the app.

  2. Run the following command to create a hello_world directory and populate it with a skeleton Rust project:

    $ cargo new hello_world --bin
  3. Navigate into the hello_world directory and use the following command to add the required dependencies to the app:

    $ cargo add aws-config aws-sdk-dynamodb tokio --features tokio/full

    These dependencies include the SDK crates that provide configuration features and support for DynamoDB, including the tokio crate, which is used to implement asynchronous I/O operations.

    Note

    Unless you use a feature like tokio/full Tokio will not provide an async runtime. The SDK for Rust requires an async runtime.

  4. Update main.rs in the src directory to contain the following code.

    use aws_config::meta::region::RegionProviderChain; use aws_config::BehaviorVersion; use aws_sdk_dynamodb::{Client, Error}; /// Lists your DynamoDB tables in the default Region or us-east-1 if a default Region isn't set. #[tokio::main] async fn main() -> Result<(), Error> { let region_provider = RegionProviderChain::default_provider().or_else("us-east-1"); let config = aws_config::defaults(BehaviorVersion::latest()) .region(region_provider) .load() .await; let client = Client::new(&config); let resp = client.list_tables().send().await?; println!("Tables:"); let names = resp.table_names(); for name in names { println!(" {}", name); } println!(); println!("Found {} tables", names.len()); Ok(()) }
    Note

    This example only displays the first page of results. See Pagination to learn how to handle multiple pages of results.

  5. Run the program:

    $ cargo run

    You should see a list of your table names.

On this page

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.