Код: Выделить всё
import com.amazonaws.services.lambda.AWSLambda;
...
InvokeResult result = awsLambda.invoke(invokeRequest);
У меня также есть это приложение, развернутое в задаче ECS, и я заметил, что в В этом контексте, если выполнение лямбда-функции не займет более 10 минут, я получу ответ, как и ожидалось. Однако, если это занимает намного больше времени или если время ожидания истекает через 15 минут, метод вызова зависает на неопределенный срок в задаче ECS (тогда как локально я всегда получаю ответ самое позднее через 15 минут, что указывает на тайм-аут).< /p>
Чтобы решить эту проблему, я попытался настроить ClientConfiguration так, чтобы время ожидания истекало через 16 минут, однако это решение не будет работать, поскольку иногда лямбда-функция завершается примерно через 10 минут и метод вызова по-прежнему зависает на неопределенный срок в задаче ECS (хотя, опять же, у меня этого никогда не происходит при локальном запуске приложения).
Я подумал, может ли это быть связано с разрешениями, однако это не кажется вероятным. Задача имеет разрешения «lambda:InvokeFunction» и «lambda:GetFunction» и ведет себя должным образом, когда лямбда-функция завершается менее чем за 10 минут. Есть ли что-нибудь еще, что мне следует попытаться предотвратить зависание вызова?
Подробнее здесь: https://stackoverflow.com/questions/764 ... ed-via-ecs