1 1 | <!--
|
2 2 | IMPORTANT:
|
3 3 | This README file is auto-generated by the build system in smithy-lang/smithy-rs.
|
4 4 | To update it, edit the `aws/SDK_README.md.hb` Handlebars template in that repository.
|
5 5 | -->
|
6 6 |
|
7 - | # The AWS SDK for Rust [](https://awslabs.github.io/aws-sdk-rust/)  [](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html)
|
7 + | # The AWS SDK for Rust [](https://awslabs.github.io/aws-sdk-rust/)  [](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html)
|
8 8 |
|
9 9 | This repo contains the AWS SDK for Rust and its [public roadmap](https://github.com/orgs/awslabs/projects/50/views/1).
|
10 10 |
|
11 11 | The SDK is code generated from [Smithy models](https://smithy.io/2.0/index.html) that represent each AWS service.
|
12 12 | The code used to generate the SDK can be found in [smithy-rs](https://github.com/smithy-lang/smithy-rs).
|
13 13 |
|
14 14 | ## Getting Started with the SDK
|
15 15 |
|
16 16 | > Examples are available for many services and operations, check out the [examples folder](./examples).
|
17 17 |
|
18 18 | > For a step-by-step guide including several advanced use cases, check out the [Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html).
|
19 19 |
|
20 20 | The SDK provides one crate per AWS service. You must add [Tokio](https://crates.io/crates/tokio) as a dependency within your Rust project to execute asynchronous code.
|
21 21 |
|
22 22 | 1. Create a new Rust project: `cargo new sdk-example`
|
23 23 | 2. Add dependencies to DynamoDB and Tokio to your **Cargo.toml** file:
|
24 24 |
|
25 25 | ```toml
|
26 26 | [dependencies]
|
27 27 | aws-config = { version= "1.6.3", features = ["behavior-version-latest"] }
|
28 28 | aws-sdk-dynamodb = "0.0.0-local"
|
29 29 | tokio = { version = "1", features = ["full"] }
|
30 30 | ```
|
31 31 |
|
32 32 | 3. Provide your AWS credentials with the default credential provider chain, which currently looks in:
|
33 33 | - Environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION`
|
34 34 | - The default credentials files located in `~/.aws/config` and `~/.aws/credentials` (location can vary per platform)
|
35 35 | - Web Identity Token credentials from the environment or container (including EKS)
|
36 36 | - ECS Container Credentials (IAM roles for tasks)
|
37 37 | - EC2 Instance Metadata Service (IAM Roles attached to instance)
|
57 57 | In order to use the SDK, you must already have Rust and Cargo installed. If you don't, [these instructions](https://doc.rust-lang.org/book/ch01-01-installation.html) describe how to install Rust and Cargo.
|
58 58 |
|
59 59 | ## Using the SDK
|
60 60 |
|
61 61 | Detailed usage instructions are available in the [Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html).
|
62 62 | Suggestions for additional sections or improvements for the guide are welcome. Please open an issue describing what you are trying to do.
|
63 63 |
|
64 64 | ## Getting Help
|
65 65 | * [Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html)
|
66 66 | * [GitHub discussions](https://github.com/awslabs/aws-sdk-rust/discussions) - For ideas, RFCs & general questions
|
67 67 | * [GitHub issues](https://github.com/awslabs/aws-sdk-rust/issues/new/choose) – For bug reports & feature requests
|
68 68 | * [Generated Docs (latest version)](https://awslabs.github.io/aws-sdk-rust/)
|
69 69 | * [Usage examples](./examples)
|
70 70 |
|
71 71 | ## Feedback and Contributing
|
72 72 |
|
73 73 | ### Feedback
|
74 74 |
|
75 75 | The SDK uses **GitHub Issues** to track feature requests and issues with the SDK. In addition, we use **GitHub Projects** to provide users with a high level view of our roadmap and the features we're actively working on.
|
76 76 |
|
77 77 | You can provide feedback or report a bug by submitting a **GitHub issue**.
|
78 78 | This is the preferred mechanism to give feedback so that other users can engage in the conversation, +1 issues, etc.
|
79 79 | Issues you open will be evaluated for our roadmap.
|
80 80 |
|
81 81 | ### Contributing
|
82 82 |
|
83 83 | If you are interested in contributing to the SDK, please take a look at [CONTRIBUTING](CONTRIBUTING.md)
|
84 84 |
|
85 85 | ## Supported Rust Versions (MSRV)
|
86 86 |
|
87 - | The SDK currently requires a minimum of Rust 1.82.0, and is not guaranteed to build on compiler versions
|
87 + | The SDK currently requires a minimum of Rust 1.85.0, and is not guaranteed to build on compiler versions
|
88 88 | earlier than that. We keep the minimum compiler version two releases behind the latest stable release where
|
89 89 | possible (so if the latest stable were 1.55, we would support 1.53). Increases in minimum required Rust
|
90 90 | version will be called out in the Release Notes for new releases of the SDK.
|
91 91 |
|
92 92 | ## Additional Resources
|
93 93 |
|
94 94 | - Design docs - Design documentation for the SDK lives in the [design folder of smithy-rs](https://github.com/smithy-lang/smithy-rs/tree/main/design).
|
95 95 | - Runtime / Handwritten code: The Rust Runtime code that underpins the SDK can be accessed [here](https://github.com/smithy-lang/smithy-rs/tree/main/rust-runtime) and [here](https://github.com/smithy-lang/smithy-rs/tree/main/aws/rust-runtime). This code is copied into this repo as part of code generation.
|
96 96 | - [Code Examples](./examples)
|
97 97 | - [API reference documentation (rustdoc)](https://awslabs.github.io/aws-sdk-rust/)
|