Как удалить существующую лямбду из 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 не должен этого допускать.

Обновил код, добавил новую версию, а старую версию удалить не удалось.


person Kannaiyan    schedule 04.11.2018    source источник
comment
Я знаю, что это может показаться очевидным вопросом, но можете ли вы включить описание группы, чтобы показать, что arn:aws:lambda:us-east-1:xxx:function:xxx:2 действительно существует в группе?   -  person thomasmichaelwallace    schedule 05.11.2018


Ответы (2)


У меня было аналогичное сообщение об ошибке при попытке заменить лямбда-функцию. В конце концов проблема заключалась в подписке, относящейся к этой функции. Попробуйте удалить любую подписку, в которой источник или цель являются лямбда-выражением, вызывающим проблемы.

person Olivier Boudry    schedule 18.11.2018

Вам нужно будет удалить все подписки, ссылающиеся на лямбда. При этом вам необходимо обновить определения, указанные в ошибке.

Сделать это в графической консоли AWS относительно просто. Однако через командную строку это очень долгий процесс. Чтобы сделать это через командную строку, вам нужно запросить группу, чтобы получить все определения / версии, обновить подписки, получить новые определения для этого и изменить исходную группу с новым определением из подписок и развернуть что.

Это немного запутано, и мне потребовалось время, чтобы разобраться.

person J. Benson    schedule 29.11.2018
comment
Да, это главное. Сообщение об ошибке мало что говорит, но и для меня проблема с подпиской. +1 к обоим ответам. - person Leandro Gomes; 10.07.2019