https://aws.amazon.com/blogs/developer/a-new-aws-sdk-for-rust-alpha-launch/ Click here to return to Amazon Web Services homepage Contact Us Support English My Account Create an AWS Account * Products * Solutions * Pricing * Documentation * Learn * Partner Network * AWS Marketplace * Customer Enablement * Events * Explore More [ ] * `rby * Bahasa Indonesia * Deutsch * English * Espanol * Francais * Italiano * Portugues * Tieng Viet * Turkce * Russkii * aithy * Ri Ben Yu * hangugeo * Zhong Wen (Jian Ti ) * Zhong Wen (Fan Ti ) * AWS Management Console * Account Settings * Billing & Cost Management * Security Credentials * AWS Personal Health Dashboard * Support Center * Knowledge Center * AWS Support Overview Click here to return to Amazon Web Services homepage [ ] * Products * Solutions * Pricing * Introduction to AWS * Getting Started * Documentation * Training and Certification * Developer Center * Customer Success * Partner Network * AWS Marketplace * Support * Log into Console * Download the Mobile App Blog Home Category Edition Follow [ ] Architecture AWS Cost Management AWS Partner Network AWS Podcast AWS Marketplace AWS News Big Data Business Productivity Compute Contact Center Containers Database Desktop & Application Streaming Developer DevOps Enterprise Strategy Front-End Web & Mobile Game Tech HPC Infrastructure & Automation Industries Internet of Things Machine Learning Management & Governance Media Messaging & Targeting Modernizing with AWS Networking & Content Delivery Open Source Public Sector Quantum Computing Robotics SAP Security, Identity, & Compliance Startups Storage Training & Certification Zhong Guo Ban Edition Francaise Deutsche Edition Ri Ben Ban hangug edisyeon Edicao em Portugues Edicion en Espanol English Edition Versiia na russkom Edisi Bahasa Indonesia Mailing List RSS Feed AWS Developer Tools Blog A New AWS SDK for Rust - Alpha Launch by iliana etaoin | on 07 MAY 2021 | in Announcements, Developer Tools , Open Source | Permalink | Comments | Share * * * * * [https://aws.amazon.c] We're excited to announce the alpha release of a new AWS SDK for Rust. AWS customers developing in Rust want a native Rust SDK so they can use the language constructs they are used to, and customers new to Rust want an SDK that behaves similarly to SDKs they have used in other language environments. With this alpha release, customers can try clients for seven AWS services and give feedback on ergonomics and usability. I've been a co-maintainer of Rusoto, a community-developed AWS SDK for Rust, for the past year. On behalf of AWS, I want to thank the original authors, all my other co-maintainers, and the community who worked to build Rusoto since its first release in 2015. Maintaining functionality for the wide breadth of AWS services is incredibly difficult. I am proud to see how important that work has been for our customers. Our primary design goal for the new SDK is to enable customer usage of new AWS Service APIs when they launch. Just like our newer SDKs, AWS used the Smithy toolchain and service models to build AWS SDK for Rust. In addition to enabling the use of new services on Day 1, this SDK contains features to create greater reliability and consistency in the developer experience. It will include AWS standard retry logic and consistent credential provider support as other AWS SDKs by the time of GA. The AWS SDK for Rust alpha release we are launching today allows you to try clients for seven AWS services: Amazon DynamoDB, Amazon API Gateway, Amazon Kinesis, AWS Key Management Service, Amazon Polly, AWS Secrets Manager and Amazon Quantum Ledger Database. We are making the alpha version of the SDK available to the community to get your feedback early and incorporate your input into the design and implementation of this SDK. We are sharing our roadmap, which outlines the plan for adding features and support for all AWS services. We would love to hear your thoughts on what features and services are most important for you via GitHub Issues and Discussions . As the SDK approaches its production-ready GA launch, we will provide documentation for migrating from Rusoto to the new SDK. We will support the SDK following our standard maintenance policy at the GA launch. Let's dive in! Getting Started with the SDK During the alpha, you can install the SDK via a Git dependency. We'll publish to crates.io when the SDK is Generally Available. Here is an example of how to get started with the new AWS SDK for Rust, using DynamoDB to perform a common operation. Many more detailed examples are available in the SDK repository. This example assumes you already have Rust and Cargo installed. If you don't, follow the instructions provided by Rust to install Rust and Cargo. Instructions to get started: 1. Create a new Rust project 2. Within your Cargo.toml file, add dependencies for DynamoDB and Tokio [dependencies] aws-sdk-dynamodb = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.3-alpha"} tokio = { version = "1", features = ["full"] } 3. Input your AWS credentials into your terminal as environment variables. Note: The alpha SDK only supports environment variable credential providers at this time. # On Unix/MacOS/Linux export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_DEFAULT_REGION=us-east-1 # On Windows set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY set AWS_DEFAULT_REGION=us-east-1 4. Make a request using DynamoDB: #[tokio::main] async fn main() -> Result<(), aws_sdk_dynamodb::Error> { let client = aws_sdk_dynamodb::Client::from_env(); let req = client.list_tables().limit(10); let resp = req.send().await?; println!("Current DynamoDB tables: {:?}", resp.table_names.unwrap_or_default()); Ok(()) } Today, the SDK only supports the Tokio async runtime and credentials from environment variables. Before SDK is generally available, we will implement standard credential providers. We are exploring ways to support multiple Rust async runtimes. Contributing to the SDK's development Make sure to check out the contributing guide to get the latest information. Here's how you can help and provide feedback: * Try out the SDK and let us know where it could be improved - For the services the SDK supports, let us know if you run into any issues by submitting a GitHub Issue or starting a GitHub Discussion. Also, be sure to add your comments and "+1"s to GitHub Issues that have already been submitted to help us prioritize and plan effectively. * Report defects - Inevitably, we expect there to be bugs in this alpha release. If you find one, let us know by submitting a GitHub Issue. * Review the docs - It is essential the SDK docs are clear, accurate and up to date so everyone can successfully use the SDK. If you find an issue with the documentation, open an issue, or even better, submit a PR. * Request for Comments (RFCs) - We are adding RFCs to the repo to propose major changes to the SDK. We will continually add more as we develop the SDK. Please review them, let us know what you think, and feel free to add your own! * Help us prioritize high level libraries - Beyond the core SDK, high level libraries built on top of the SDK (like the S3 Encryption Client or the DynamoDB Mapper) make some AWS services easier to use. Let us know which libraries are most important to you via a GitHub Discussions. The SDK's Public Roadmap The SDK currently provides support for AWS services that use the AWS JSON 1.0, AWS JSON 1.1, and restJson1 protocols. We will be adding support for more services as we expand our protocol support. You can find the complete list of the AWS services the SDK currently supports in our GitHub repository. You can follow our plans to add support for the remaining AWS services by reviewing our public roadmap on GitHub. The roadmap also includes new features we plan on adding, like new functionality for AWS services and support for additional credential providers. The purpose of the roadmap is to keep the community informed about what's coming. We will keep this roadmap up to date with the team's progress. Please add a "+1" to features most important to you. Your votes will help us prioritize our roadmap. Give it a Try The getting started guide is a great place to start using the SDK. Check it out and let us know what do you think! --------------------------------------------------------------------- We're Hiring The AWS SDK for Rust team is looking for developers to join our team. If you'd like to join, please see the open positions on our team. iliana etaoin iliana etaoin iliana has worked on Amazon Linux since 2015, and most recently helped build the update system for Bottlerocket. She is a co-maintainer of Rusoto. TAGS: Rust, SDK View Comments Resources Developer Resources & Community Open Source Repos Twitch Live Coding Labs on Github --------------------------------------------------------------------- Follow Instagram Reddit Twitter Facebook LinkedIn Twitch Email Updates Sign In to the Console Learn About AWS * What Is AWS? * What Is Cloud Computing? * AWS Inclusion, Diversity & Equity * What Is DevOps? * What Is a Container? * What Is a Data Lake? * AWS Cloud Security * What's New * Blogs * Press Releases Resources for AWS * Getting Started * Training and Certification * AWS Solutions Portfolio * Architecture Center * Product and Technical FAQs * Analyst Reports * AWS Partner Network Developers on AWS * Developer Center * SDKs & Tools * .NET on AWS * Python on AWS * Java on AWS * PHP on AWS * Javascript on AWS Help * Contact Us * AWS Careers * File a Support Ticket * Knowledge Center * AWS Support Overview * Legal Create an AWS Account Amazon is an Equal Opportunity Employer: Minority / Women / Disability / Veteran / Gender Identity / Sexual Orientation / Age. * Language * `rby * Bahasa Indonesia * Deutsch * English * Espanol * Francais * Italiano * Portugues * Tieng Viet * Turkce * Russkii * aithy * Ri Ben Yu * hangugeo * Zhong Wen (Jian Ti ) * Zhong Wen (Fan Ti ) * Privacy * | * Site Terms * | * Cookie Preferences * | * (c) 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.