Code Monkey home page Code Monkey logo

aws-sdk-rust's Introduction

The AWS SDK for Rust Docs MSRV Usage Guide

This repo contains the new AWS SDK for Rust (the SDK) and its public roadmap.

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

The SDK is code generated from Smithy models that represent each AWS service. The code used to generate the SDK can be found in smithy-rs.

Getting Started with the SDK

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

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

The SDK provides one crate per AWS service. You must add Tokio as 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 your Cargo.toml file:

    [dependencies]
    aws-config = "0.49.0"
    aws-sdk-dynamodb = "0.19.0"
    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, and AWS_REGION
    • The default credentials files located in ~/.aws/config and ~/.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

use aws_sdk_dynamodb::{Client, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
    let shared_config = aws_config::load_from_env().await;
    let client = Client::new(&shared_config);
    let req = client.list_tables().limit(10);
    let resp = 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 instructions describe how to install Rust and Cargo.

Using the SDK

While we're working on the SDK, detailed usage instructions will be added to the Developer Guide. Please suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help

Feedback and Contributing

Feedback

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.

You can provide feedback or report a bug by submitting a GitHub 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 in the Developer Preview launch.

Contributing

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

Supported Rust Versions (MSRV)

The SDK currently requires a minimum of Rust 1.61.0, and is not guaranteed to build on compiler versions earlier than that. While we are still in alpha, we will be keeping the minimum compiler version two releases behind the latest stable release where possible (so if the latest stable were 1.55, we would be on 1.53). However, we are not making any guarantees around this at present. Increases in minimum required Rust version will be called out in the Release Notes for new releases of the SDK.

Additional Resources

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

aws-sdk-rust's People

Contributors

82marbag avatar amazon-auto avatar aws-sdk-rust-ci avatar beurdouche avatar bigoconstant avatar calavera avatar cmtm avatar crisidev avatar david-perez avatar davidogunsaws avatar doug-aws avatar guymguym avatar hlbarber avatar hugobast avatar jdisanti avatar jmklix avatar joshtriplett avatar jszwedko avatar marcbowes avatar nikolay-te avatar nmoutschen avatar petrosagg avatar pyjac avatar rcoh avatar ryansb avatar taiki-e avatar unexge avatar velfi avatar vishaalt avatar weihanglo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.