Expand description
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
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);
Structs§
- Extension
Response Param - The response from the AWS Lambda extension when successfully queried for a paramater at
endpoint
/systemsmanager/parameters/get/?name=...
. - Extension
Response Parameter Field - A parameter returned by the AWS Lambda extension, as structured JSON
- Manager
- Manages connections to the cache. Create one via a
ManagerBuilder
. - Manager
Builder - Flexible builder for a
Manager
. - Parameter
- A representation of a parameter in Parameter Store in SSM.
- Query
Builder - Flexible builder for a complex
Query
. - Secret
- A representation of a secret in Secrets Manager.
- Version
IdQuery - A query for a secret with a version id. Create one via
QueryBuilder::with_version_id
. - Version
Stage Query - A query for a secret with a version stage. Create one via
QueryBuilder::with_version_stage
.
Traits§
- Query
- A query for a specific
Secret
in AWS Secrets Manager. SeeManager::get_secret
for usage.