ParamCache is used in AWS Go Lambdas when cold booting to save repeated lookups on subsequent invocations. Assumes SSM / AWS Systems Manager is in the same region as the lambda.
Cache configurable via lambda environment variables:
SSM_CACHE_ENABLE string (default "TRUE")
SSM_CACHE_VERBOSE string (default "FALSE")
SSM_CACHE_TIMEOUT int (default 300 seconds)
import "github.com/dozyio/paramcache"
...
tableName, err := paramcache.GetParameterStoreValue("dynamodb_table_name")
if err != nil {
//handle error
}
log.Printf("%s\n", *tableName.Parameter.Value)
It is possible to set a cache timeout value per parameter. The example below sets a 20 second cache for "dynamodb_table_name".
tableName, err := paramcache.GetParameterStoreValue("dynamodb_table_name", 20)
Setting a cache timeout of 0 will not add the parameter to the cache
tableName, err := paramcache.GetParameterStoreValue("dynamodb_table_name", 0)