Я написал программу на Java и развернул ее в AWS Lambda, создав файл JAR, содержащий все необходимые файлы. Мой обработчик запросов вызывает метод, который пытается создать 4 новых FileInputStreams с файлами .bin в качестве входных данных в try-catch. Например: InputStream stream = new FileInputStream ("random.bin"). Однако он переходит к оператору catch после попытки создания первого из-за IOException. У меня есть файлы классов в src / main / java / package. У меня были файлы .bin в каталоге, содержащем папку src, и я также попытался поместить их все в одну папку, но это не решило проблему. Очень запутались, как решить эту проблему. Он также не работает, когда я вызываю чтение в текстовом файле, поэтому он не ограничивается только двоичными файлами. Я думал поместить двоичные файлы в свою корзину S3 и как-то прочитать их оттуда, но я не нашел в Интернете ничего подробного, как это сделать на Java.
Спасибо!




AWS Lambda разрешает запись только в папку /tmp файловой системы вашей функции. Попробуйте изменить свой код, чтобы он соответствовал этому пути, и повторите попытку.
Ваш jar помещает файлы в разные места, чем вы ожидаете. Этот вопрос может дать представление о том, как правильно получить доступ к файлам в банке.
в чем была проблема?
Я попробовал большинство методов, описанных в этом посте, но ни один из них не помог мне.