В настоящее время у меня есть установка, в которой мой мобильный интерфейс выполняет загрузку изображения AWS s3. Загрузка s3 запускает лямбда-функцию AWS, которая запускает пошаговую функцию AWS (конечный автомат), которая выполняет различные задания и действия.
Я ищу лучший (и наиболее эффективный по времени) способ вернуть результат в конце пошаговой функции на мобильное устройство.
Один из способов - контролировать executionARN
конечного автомата и, когда он будет завершен, получить данные. Похоже, это относится к реализации awslabs lambda-refarch-imagerecognition, здесь. Однако мой интерфейс находится на мобильном устройстве, и я бы предпочел не отправлять и получать много запросов, чтобы проверить, завершен ли конечный автомат.
Другое возможное решение - реорганизовать процесс так, чтобы загрузка s3 была автономным событием, и, как только оно будет успешным, сделать запрос API к шлюзу API AWS, который запускает пошаговую функцию. Затем запрос API POST вернет ответ. Проблема здесь в том, что приложение должно дождаться ответа s3, чтобы продолжить запуск конечного автомата.
Есть ли лучший способ выполнить эту последовательность и получить ответ? В идеале загрузка s3 должна возвращать полный ответ от конечного автомата. Таким образом, будет один запрос (загрузка изображения) и один ответ.