The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.
Getting started
This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only
the SDK packages you need and keep your bundle size small.
To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:
exportconsthandler = async (): Promise<void> => { // Retrieve a parameter and decrypt it constparameter = awaitgetParameter('/my-parameter', { decrypt:true }); };
Caching
By default, the provider will cache parameters retrieved in-memory for 5 seconds.
You can adjust how long values should be kept in cache by using the maxAge parameter.
exportconsthandler = async (): Promise<void> => { // Retrieve a parameter and cache it for 10 seconds constparameter = awaitgetParameter('/my-parameter', { maxAge:10 }); };
If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.
exportconsthandler = async (): Promise<void> => { // Retrieve a parameter and parse it as JSON constparameter = awaitgetParameter('/my-parameter', { transform:'json' }); };
For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.
Intro
The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.
Getting started
This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only the SDK packages you need and keep your bundle size small.
To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:
Basic usage
Example
Advanced usage
Decryption
If you have encrypted parameters, you can use the
decrypt
option to automatically decrypt them.Example
Caching
By default, the provider will cache parameters retrieved in-memory for 5 seconds. You can adjust how long values should be kept in cache by using the
maxAge
parameter.Example
If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the
forceFetch
parameter.Example
Transformations
For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.
Example
For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to
binary
for decoding. This will return a decoded string.Example
Extra SDK options
When retrieving a parameter, you can pass extra options to the AWS SDK v3 for JavaScript client by using the
sdkOptions
parameter.Example
This object accepts the same options as the AWS SDK v3 for JavaScript SSM GetParameter command.
Built-in provider class
For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.
Options
maxAge
- The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)forceFetch
- Whether to always fetch a new value from the store regardless if already available in cachetransform
- Whether to transform the value before returning it. Supported values:json
,binary
sdkOptions
- Extra options to pass to the AWS SDK v3 for JavaScript clientdecrypt
- Whether to decrypt the value before returning it.For more usage examples, see our documentation.
See
https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/