Как удалить существующую лямбду из aws greengrass?
Я пытался удалить версию Greengrass лямбда из Greengrass, он жалуется мне,
We cannot deploy because the group definition is invalid or corrupted for the following reasons: {ErrorSet(errorSet=[ErrorModel(errorCode=REFERENTIAL_INTEGRITY_ERROR, errorMsg=Source arn:aws:lambda:us-east-1:xxx:function:xxx:2 does not exist in group)])}
"Source arn:aws:lambda:us-east-1:xxx:function:xxx:2 does not exist in group"
Я понимаю, что нам нужно использовать ALIAS вместо версии, но в этом случае AWS IOT не должен допускать этого.
Обновил код, добавил новую версию, и я не смог удалить старую версию.
2 ответа
У меня было похожее сообщение об ошибке при попытке заменить лямбда-функцию. В конце концов, проблема заключалась в подписке на эту функцию. Попробуйте удалить любую подписку, имеющую источник или цель как лямбду, которая вызывает проблемы.
Вам нужно будет удалить все подписки, ссылающиеся на лямбду. При этом вам нужно будет обновить определения, которые упоминаются в сообщении об ошибке.
Сделать это в графической консоли AWS относительно легко. Однако через командную строку это очень длительный процесс. Чтобы сделать это через командную строку, вам нужно запросить группу, получить все определения / версии, обновить подписки, получить новые определения для этого и изменить исходную группу с новым определением из подписок и развернуть тот.
Это немного грязно, и мне понадобилось время, чтобы разобраться.