У меня есть стек, который изначально создается из шаблона CloudFormation. Мне нужно добавить некоторые динамические теги в node.js, когда я сохраняю файл в моем ведре s3. Это мой код.
let date = new Date();
let currentDate = date.toISOString();
let cloudFormationParams = {
StackName: 'name-of-stack-created-from-cloud-formation',
Tags: [
{
Key: 'CurrentDate',
Value: currentDate
},
/* more items */
],
UsePreviousTemplate: true
};
await cloudformation.updateStack(cloudFormationParams, (err, data) => {
if (err) {
console.info(err, err.stack); // an error occurred
return { status: "error" }
} else {
console.info(data); // successful response
}
}).promise();
Это дает мне ошибку «ValidationError», «errorMessage»: «Стек: находится в состоянии UPDATE_IN_PROGRESS и не может быть обновлен.
Кто-нибудь может сказать мне, что я делаю не так?
Чтобы расширить проблему, я пытаюсь вызвать функцию для сохранения каждого файла в цикле for. Эта функция содержит код для обновления стека. Тег добавляется правильно для первого файла в цикле, но все файлы после этого генерируют ошибку.





Nodejs предоставляет метод ждать, который позволяет вам подождите в своем коде для стека, находящегося в состоянии, если это интересно. Возможные состояния, которых вы можете дождаться:
Таким образом, вы можете добавить wait_for с stackUpdateComplete в свой код, прежде чем выполнять дальнейшие действия со стеком.
эта ошибка просто означает, что ваш стек в настоящее время находится в процессе обновления .... подождите, пока ваш стек не перейдет в окончательное состояние (заканчивающееся на COMPLETE или FAILED), и повторите попытку