Вызов клиента SSM из вашего кода:
const SSM = require('aws-sdk/clients/ssm')
const getParameter = async (paramName) => {
const client = new SSM()
try {
const { Parameter } = await getSSMClient()
.getParameter({ Name: paramName })
.promise()
return Parameter.Value ? JSON.parse(Parameter.Value) : null
} catch (e) {
console.error(e)
}
}
Вы можете поместить это за пределы экспорта обработчика по умолчанию, который будет вызывать его только при запуске лямбда (что может быть меньше, чем при вызове, в зависимости от трафика c)
const foo = await getParameter('foo')
module.exports = (event, context) => {
console.log(foo)
...
}
Но что касается повторного развертывания - он может быть очень быстрым. Я лично разделяю свои данные на несколько сервисов, и повторное развертывание лямбда - это отдельный процесс, чем установка DynamoDB, поэтому все идет быстро.