Есть запасной вариант для ImportValue в шаблоне CloudFormation?

#amazon-cloudformation

#aws-cloudformation

Вопрос:

У меня есть два проекта (backoffice и frontoffice), развернутые с использованием CloudFormation.

Во внешнем интерфейсе я импортирую некоторые имена таблиц DynamoDB из стека backoffice в качестве переменных среды для моих лямбд.

Для запуска некоторых приемочных тестов мне иногда нужно развернуть интерфейс, не развертывая серверную часть. Следовательно, интерфейс попытается выполнить ImportValue для экспорта, который не существует.

Есть ли какой-либо шаблон, который позволил бы мне в любом случае развернуть интерфейс, а затем обработать отсутствие значения в моем коде?

Ответ №1:

Вы могли бы передать дополнительный Parameter to frontoffice , указывающий, собираетесь ли вы развертывать с backoffice или нет.

В зависимости от значения параметра вы могли бы использовать dependsOn и / или Fn::If либо для импорта, либо нет имен таблиц DynamoDB.

Для полностью автоматизированного решения без каких-либо дополнительных параметров вам придется использовать пользовательский ресурс. Ресурсом будет лямбда-функция, которая будет использовать AWS SDK для запроса стеков CloudFormation и проверки backoffice .