Skip to content

Cache AWS Secrets Manager secrets in your AWS Lambda function

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE.txt
MIT
LICENSE-MIT.txt
Notifications You must be signed in to change notification settings

Tom01098/aws-parameters-and-secrets-lambda

Repository files navigation

aws-parameters-and-secrets-lambda

Cache AWS Secrets Manager secrets in your AWS Lambda function, reducing latency (we don't need to query another service) and cost (Secrets Manager charges based on queries).

Quickstart (Secrets)

Add the AWS Parameters and Secrets Lambda Extension layer to your Lambda function. Only version 2 of this layer is currently supported.

Assuming a secret exists with the name "backend-server" containing a key/value pair with a key of "api_key" and a value of "dd96eeda-16d3-4c86-975f-4986e603ec8c" (our super secret API key to our backend), this code will get the secret from the cache, querying Secrets Manager if it is not in the cache, and present it in a strongly-typed BackendServer object.

use aws_parameters_and_secrets_lambda::Manager;
use serde::Deserialize;

#[derive(Deserialize)]
struct BackendServer {
    api_key: String
}

let manager = Manager::default();
let secret = manager.get_secret("backend-server");
let secret_value: BackendServer = secret.get_typed().await?;
assert_eq!("dd96eeda-16d3-4c86-975f-4986e603ec8c", secret_value.api_key);

Documentation

Thorough documentation for this crate is available on docs.rs.

License

This crate is licensed under the MIT or Apache 2.0 license, at your option.

About

Cache AWS Secrets Manager secrets in your AWS Lambda function

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE.txt
MIT
LICENSE-MIT.txt

Stars

Watchers

Forks

Packages

No packages published