У меня есть собственный ресурс, используемый для получения ключа API от шлюза API и отправки его в качестве заголовка в Cloudfront.Когда я создаю стек, мой custom:resource
запускается, так как он создает логический идентификатор в первый раз.Но когда я обновляю стек (т. Е. Изменяю имя API-ключа), тогда ресурс ключа API типа AWS::ApiGateway::ApiKey
создаст новый логический идентификатор, когда, в свою очередь, создаст новый ключ API, в этот момент мой custom:resource
не вызывается, так каку него такой же логический идентификатор, потому что у моего облачного фронта старый API-ключ, а не новый.
Есть ли способ вызывать мой custom:resource
каждый раз, когда происходит обновление моего стека?В качестве обходного пути я изменяю Logical Id
из custom:resource
, чтобы запускать его всякий раз, когда я обновляю ресурс в моем стеке.Но это немного сложно, так как logicId является общей ссылкой на многие ресурсы.
Кстати, мой пользовательский ресурс привязан к лямбда-функции.Я даже попытался изменить поле Version
, а также попытался добавить значения в поле свойств (например, имя_стека, параметры и т. Д.), Но все равно он не вызывается.
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
"MyFrontEndTest" : {
"Type": "Custom::PingTester",
"Version" : "1.0", -->Even changed the version to 2.0
"Properties" : {
"ServiceToken": "arn:aws:lambda:us-east-1:*****",
"InputparameterName" : "MYvalue" -->Added this field
}
}
}
Спасибо Любая помощь приветствуется