Я пытаюсь настроить функцию AWS Lambda
, которая выполняет вызов API
с использованием файла jar с использованием python.
Код показан ниже:
command_line = ('java -jar Reporter.jar p=Reporter.properties Sales.getReport' + " " + arg1 + ", " + arg2 + ", " + arg3 + ", " + arg4 + ", " + arg5 + ", " + arg6)
args = shlex.split(command_line)
print(args)
p = subprocess.Popen(args)
p.wait()
Этот файл (текстовый файл, сжатый в формате gzip) загружается в тот же каталог, в котором находится файл jar и файл свойств на моем локальном компьютере. На AWS Lambda этот фрагмент кода выполняется успешно, но выдает ошибку:
Невозможно сохранить файл. Убедитесь, что у вас достаточно места и есть доступ для записи в текущий каталог.
Это потому, что AWS Lambda не предоставляет доступ для загрузки файлов нигде, кроме папки /tmp
?
Какие изменения можно внести в код, чтобы загрузить файл в папку AWS Lambda /tmp
вместо папки, содержащей файл jar?
Я уже пытался изменить каталог с помощью os.chdir на каталог, содержащий файл jar, и вернуться в родительский каталог после обработки команды подпроцесса, но он загружает файл в тот же каталог, что и тот, который содержит файл. фляга