Я следил за этот официальный документ от AWS о том, как использовать секреты, которые хранятся в Secret Manager в файле SAM template.yaml
, и вот что я сделал:
Environment:
Variables:
DUMMY_VARIABLE: '{{resolve:secretsmanager:dummy/secret:SecretString:key1}}'
Все работает нормально, и я вижу, что секреты извлекаются, однако, если я изменю значение секрета в диспетчере секретов и повторно разверну лямбда-функцию с помощью команды sam deploy
, значение переменной среды, поступающее из диспетчера секретов, останется неизменным. .
Я не указываю стадию версии или идентификатор версии, но я могу решить проблему, указав идентификатор версии секрета, как показано ниже:
DUMMY_VARIABLE: '{{resolve:secretsmanager:dummy/secret:SecretString:key3::VERSION_ID_OF_THE_SECRET}}'
Согласно официальному документу AWS:
Если вы не укажете ни этап версии, ни идентификатор версии, по умолчанию будет получена версия со значением этапа версии AWSCURRENT.
Я ожидаю, что он должен взять текущее значение из Secret Manager без указания идентификатора версии и этапа, но, похоже, этого не происходит!