Skip to content

Awsl (a ta đã chết) abs/aws-sdk-rust

The AWS SDK for RustDocsMSRVUsage Guide

This repo contains the AWS SDK for Rust and itspublic roadmap.

The SDK is code generated fromSmithy modelsthat represent each AWS service. The code used to generate the SDK can be found insmithy-rs.

Getting Started with the SDK

Examples are available for many services and operations, check out theexamples folder.

For a step-by-step guide including several advanced use cases, check out theDeveloper Guide.

The SDK provides one crate per AWS service. You must addTokioas a dependency within your Rust project to execute asynchronous code.

  1. Create a new Rust project:cargo new sdk-example

  2. Add dependencies to DynamoDB and Tokio to yourCargo.tomlfile:

    [dependencies]
    aws-config= {version="1.5.4",features= ["behavior-version-latest"] }
    aws-sdk-dynamodb="1.39.1"
    tokio= {version="1",features= ["full"] }
  3. Provide your AWS credentials with the default credential provider chain, which currently looks in:

    • Environment variables:AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,andAWS_REGION
    • The default credentials files located in~/.aws/configand~/.aws/credentials(location can vary per platform)
    • Web Identity Token credentials from the environment or container (including EKS)
    • ECS Container Credentials (IAM roles for tasks)
    • EC2 Instance Metadata Service (IAM Roles attached to instance)
  4. Make a request using DynamoDB

useaws_sdk_dynamodb::{Client,Error};

#[tokio::main]
asyncfnmain()->Result<(),Error>{
letshared_config = aws_config::load_from_env().await;
letclient =Client::new(&shared_config);
letreq = client.list_tables().limit(10);
letresp = req.send().await?;
println!("Current DynamoDB tables: {:?}",resp.table_names);
Ok(())
}

Prerequisites

In order to use the SDK, you must already have Rust and Cargo installed. If you don't,these instructionsdescribe how to install Rust and Cargo.

Using the SDK

Detailed usage instructions are available in theDeveloper Guide. Suggestions for additional sections or improvements for the guide are welcome. Please open an issue describing what you are trying to do.

Getting Help

Feedback and Contributing

Feedback

The SDK usesGitHub Issuesto track feature requests and issues with the SDK. In addition, we useGitHub Projectsto provide users with a high level view of our roadmap and the features we're actively working on.

You can provide feedback or report a bug by submitting aGitHub issue. This is the preferred mechanism to give feedback so that other users can engage in the conversation, +1 issues, etc. Issues you open will be evaluated for our roadmap.

Contributing

If you are interested in contributing to the SDK, please take a look atCONTRIBUTING

Supported Rust Versions (MSRV)

The SDK currently requires a minimum of Rust 1.76.0, and is not guaranteed to build on compiler versions earlier than that. We keep the minimum compiler version two releases behind the latest stable release where possible (so if the latest stable were 1.55, we would support 1.53). Increases in minimum required Rust version will be called out in the Release Notes for new releases of the SDK.

Additional Resources

Security

SeeCONTRIBUTINGfor more information.

License

This project is licensed under the Apache-2.0 License.