aws-lambda-rust-runtime
diesel
aws-lambda-rust-runtime | diesel | |
---|---|---|
30 | 82 | |
3,173 | 11,959 | |
1.3% | 1.5% | |
8.9 | 9.5 | |
13 days ago | 3 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aws-lambda-rust-runtime
-
Cognito Starter Kit with Rust and Lambda
I've been writing more and more about the benefits of Rust and Lambda quite a bit lately and I plan to take advantage of them in this customizer. Additionally, I've leveraged the Lambda Runtime project that includes data structures for the Lambda Events that I'll encounter while working with these payloads.
-
Rust and Lambda
The Lambda Rust Runtime project bridges that gap between SDK support and enhanced developer experience. Now this code IS flagged as experimental as it is subject to change. Didn't I just say above that I don't like experimental software in production? For something like a critical SDK into AWS, yes. But for something that is mostly data structures and working with different Lambda events, I don't have an issue. I'm comfortable with recommending builders look into this repository. I've also been fortunate to contribute to it and believe that the libraries included will make builder's lives easier. End of the day, if the experimental piece is a hold-up, a Lambda with Rust will be fine without it.
-
Customize Cognito Access Token with Rust
If you are building Rust applications that are deployed in Lambdas, it's well worth your time to check out this AWS project. And nestled inside that repository is a Lambda Events crate that helps with the serde/deserde of different payloads to be encountered when running Lambdas.
-
AWS Support for Rust on Lambda - Concerns?
Feel free to take look at the GitHub repo and ask any questions you have there, we're always happy to help in what we can: https://github.com/awslabs/aws-lambda-rust-runtime
-
Learn Rust 101 – A guide to aid you in your journey of becoming a Rustacean
Rust on Lambda's using containers as the deployment artifact are also very good, i'd say a perfect match. Low artifact size, low cpu+memory usage, fast execution. I think AWS must be using increasingly using Rust on Lambda internally from the talks I've seen them publish and the work gone in to https://github.com/awslabs/aws-lambda-rust-runtime.
For simple REST API's there's not much extra effort in using Rust once you are familiar.
-
Rust on AWS Lambda?
Check out the official AWS Lambda Rust project https://github.com/awslabs/aws-lambda-rust-runtime. It has a bunch of examples and we’ll designed. I got up and running knowing minimal Rust very quickly.
-
Rust on Lambda Interest?
The official https://github.com/awslabs/aws-lambda-rust-runtime seems well architected.
-
State of Rust for web backends
Hi, maybe check out https://github.com/awslabs/aws-lambda-rust-runtime there's some examples in there.. But essentially you can build a Lambda function and deploy to your AWS account with this toolset.
-
API Gateway to a Lambda function using Lambda proxy and non-proxy)integration, with OpenAPI specs
use aws_lambda_events::apigw::{ ApiGatewayCustomAuthorizerRequestTypeRequest, ApiGatewayCustomAuthorizerResponse, ApiGatewayCustomAuthorizerPolicy, IamPolicyStatement, }; use lambda_runtime::{run, service_fn, Error, LambdaEvent}; use serde_json::json; #[tokio::main] async fn main() -> Result<(), Error> { tracing_subscriber::fmt() .with_ansi(false) .without_time() .with_max_level(tracing_subscriber::filter::LevelFilter::INFO) .init(); run(service_fn(function_handler)).await } pub async fn function_handler(event: LambdaEvent) -> Result { // do something with the event payload let method_arn = event.payload.method_arn.unwrap(); // for example we could use the authorization header if let Some(token) = event.payload.headers.get("authorization") { // do something with the token // my custom logic return Ok(custom_authorizer_response( "ALLOW", "some_principal", &method_arn, )); } Ok(custom_authorizer_response( &"DENY".to_string(), "", &method_arn)) } pub fn custom_authorizer_response(effect: &str, principal: &str, method_arn: &str) -> ApiGatewayCustomAuthorizerResponse { let stmt = IamPolicyStatement { action: vec!["execute-api:Invoke".to_string()], resource: vec![method_arn.to_owned()], effect: Some(effect.to_owned()), }; let policy = ApiGatewayCustomAuthorizerPolicy { version: Some("2012-10-17".to_string()), statement: vec![stmt], }; ApiGatewayCustomAuthorizerResponse { principal_id: Some(principal.to_owned()), policy_document: policy, context: json!({ "email": principal }), // https://github.com/awslabs/aws-lambda-rust-runtime/discussions/548 usage_identifier_key: None, } }
-
Rust for microservices, AWS lambda functions, etc?
FYI, there’s an offical rust “runtime” in the works: https://github.com/awslabs/aws-lambda-rust-runtime
diesel
-
Top 10 Rusty Repositories for you to start your Open Source Journey
7. Diesel
-
People who use rust and postgres in production along with RDS proxy, what do you do?
Both seem nice. However, both of them rely very heavily on prepared statements. Unfortunately, using prepared statements is a no-go when you use connection poolers like pgbouncer, or in my case AWS RDS proxy. A discussion in Diesel indicates that disel is not going to provide any support for disabling prepared stements (https://github.com/diesel-rs/diesel/discussions/3575), and a discussion on sqlx hints that disabling prepared statements is possible, but I haven't found any documentation or examples for it.
-
The diesel project is looking for help
In addition we are experimenting with prebuild versions of diesel-cli that can be installed directly. We have a set of prebuilt binaries here. We are interested in feedback about how the provided binaries work on your platform.
-
cargo-dist pre-release looking for feedback!
First of all thanks for making this great tool. As it happens I currently toy around with using it for diesel-cli releases. See the WIP PR here. I think diesel-cli is a good example of a tool that depends on system libraries as it needs to link native database drivers, so this new release is welcome. Defining the dependencies seems to allow easily building things on x86_64-unknown-linux-gnu and x86_64-apple-darwin. It seems to pick up everything in the right way there.
- Diesel Is a Safe, Extensible ORM and Query Builder for Rust
-
Rust & MySQL: connect, execute SQL statements and stored procs using crate sqlx.
I did look at mysql initially. Then I started checking other crates. Diesel is an Object Relation Model (ORM), I'm not yet keen on taking on the complication of learning ORM, I give this crate a pass in the meantime.
-
Queryx: An Open-Source Go ORM with Automatic Schema Management
I would recommend people look at diesel from Rust for how nice it could be. https://diesel.rs/ Look at the complex queries example. So much more readable and easier to understand.
-
Diesel polls about upcoming features and guide topics
Most wanted missing features in diesel
-
Ask HN: Anyone Using Rust for Web Development?
There are two problems with using Rust for web servers:
1. The only production-ready Rust web servers require writing async request handlers. Async Rust is not fun.
2. The only good Postgres client library is async: https://crates.io/crates/sqlx
I'm trying to remedy the first problem with https://crates.io/crates/servlin .
Solving the second problem will be another project. I hope someone else does it. There is https://crates.io/crates/diesel but it has the same problem as async Rust: incomprehensible compiler errors.
-
/r/startrek/ migrates to lemmy
Lemmy is written in Rust using Actix Web and Diesel.rs.
https://actix.rs/
https://diesel.rs/
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
sea-orm - 🐚 An async & dynamic ORM for Rust
Rocket - A web framework for Rust.
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
aws-cdk - The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
rustorm - an orm for rust
OpenSSL - TLS/SSL and crypto library
rbatis - Rust Compile Time ORM robustness,async, pure Rust Dynamic SQL
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
r2d2 - A generic connection pool for Rust
upx-action - Strips and runs upx on binaries
rusqlite-model - Model trait and derive implementation for rusqlite