Я бы посоветовал вам выполнить некоторую реконструкцию этого процесса, которая поможет предоставить лучшее решение для ваших пользователей.
Вам следует подумать об использовании дополнительных технологий, чтобы разделить обработку и возврат новый xlsx
файл из исходного HTTP-запроса. Разделив их по отдельности, ваш конечный пользователь получит улучшенный опыт с меньшей вероятностью сбоя на этом пути (на данный момент все полагается на HTTP-запрос, если он терпит неудачу, весь процесс терпит неудачу).
Ваш HTTP Запрос должен будет принять файл xslx
, после чего он должен сохранить файл и поставить в очередь обработку этого действия. Если вы сохранили файл в S3 , вы могли бы использовать S3-события для запуска Lambda для обработки этой обработки. Если вы выполняете последовательность событий, было бы более целесообразно разбить эти шаги на отдельные функции, которые могут быть запущены функцией Step .
Ваше приложение должно понимать это. действие ставится в очередь, поэтому вам нужно решить, как вы хотите предоставить эту информацию пользователю. Вы можете сохранить статус обработки, чтобы сказать, что это PENDING
, пока ваша функция шага не будет отмечена как завершенная, или, возможно, вы можете выбрать отправку готового файла пользователю по электронной почте (используя предварительно подписанный URL-адрес).