Thanks for all the work on this, looking forward to trying a few new pieces out!
What kind of plans for support of Rust's evolving async ecosystem?
Any particular reason why the public roadmap does not show the columns similar to "Researching", "We're Working On It" like the other similar public AWS Roadmaps? See example for Containers: https://github.com/aws/containers-roadmap/projects/1
Would be nice to have fully working examples on Github, for most common scenarios across most AWS services. This is something that historically AWS SDKs have been inconsistent on. Just a request not really a question :-)
We were hoping async-function-in-trait would land before GA, however, we have a plan to add support in a backwards compatible way when it's released.
> Any particular reason why the public roadmap does not show the columns similar to "Researching", "We're Working On It" like the other similar public AWS Roadmaps?
Our roadmap has unfortunately been in a state of disrepair for some time. We're hoping to get it cleaned up and accurate post GA.
> Would be nice to have fully working examples on Github, for most common scenarios across most AWS services. This is something that historically AWS SDKs have been inconsistent on. Just a request not really a question :-)
There are lots of examples here [1], some simple, some quite complex. If there's something you have in mind, please file an issue! Having great examples is one of our priorities.
[1]: https://github.com/awslabs/aws-sdk-rust/tree/main/examples
1. It would be interesting to see a comparison between the Rust service coverage and other language SDKs that have been around for a while such as Java. Is there such a place to see this comparison? 2. Will the Rust SDK stay up to date with the latest services as they're announced?
I'm very excited to see this announcement. It's been a long time coming.
New services will come out the same day as all other SDKs–All SDKs utilize the same automated system to deploy new releases.
The only exception is services which require extensive custom code. We're still catching up on those for the Rust SDK.
As far as I read the code of some AWS SDKs, the SDKs (in most languages) are generated from interface files and are thus always in-sync and cover the same APIs in every language.
I don't hold my breath
Are there plans to improve the compilation times? Aws sdk crates are some of the slowest dependencies in our build—which feels odd for what are basically wrappers for http clients.
Some of our other design tenets are here: https://smithy-lang.github.io/smithy-rs/design/tenets.html
* https://andre.arko.net/2018/10/25/parsing-logs-230x-faster-w...
* https://andre.arko.net/2019/01/11/parsing-logs-faster-with-r...
(obviously most people will not realize infinity money)
https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pap...
edit: Tokio can be beefy. You might look at some of the smaller single-threaded runtimes to execute your future in the main application thread if you’re only concerned about serial execution.
> thread 'main' panicked at /home/dev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-smithy-async-1.0.2/src/rt/sleep.rs:128:20: there is no reactor running, must be called from the context of a Tokio 1.x runtime
I just heard about AWS CRT at the AWS ReInvent Innovation talk on Storage.
1. Does the Rust SDK use CRT under the hood? I use the Rust SDK to access S3 and wonder if there are any automatic performance gains?
2. I couldn't find good material on how AWS CRT works and how it is integrated with the Java or Python S3 connectors. I would appreciate a more technical explanation. Do you have any links that explains this in more depth?
For S3, there is a meta-layer that interceps requests to S3 and converts them into ranged-gets and multipart uploads for parallelization.
It's quite complex and can also use significantly more memory, but it does allow for *much* faster uploads and downloads in some circumstances.
One thing I sorely missed was workers for consuming SQS messages. Ended up having an intern adapt a worker for the old community AWS SDK (rusoto) into this: https://github.com/Landeed/sqs_worker
Also on my dream list of features: gRPC support for Lambda.
On the plus side, I guess the work lends itself well to parallelization.