我用Java编写了一个程序,并通过创建一个包含所有必要文件的JAR文件将其部署到AWS Lambda。我的请求处理程序调用一个方法,该方法尝试在try-catch中创建4个新的FileInputStreams,并将.bin文件作为输入。例如:InputStream stream =新的FileInputStream(“ random.bin”)。但是,由于IOException,将在尝试创建第一个语句后转到catch语句。我的班级文件在src / main / java / package中。我的.bin文件位于包含src文件夹的目录中,并且我还尝试将它们全部放在一个文件夹中,但这不能解决问题。非常困惑如何解决这个问题。当我调用读取文本文件时,它也不起作用,因此它不仅限于二进制文件。我当时正在考虑将二进制文件放入S3存储桶中,然后以某种方式从那里读取它们,但是我没有在网上找到太多东西来详细说明如何在Java中做到这一点。
谢谢!
答案 0 :(得分:0)
您的jar会将文件放在您期望的不同位置。 question可能会为您提供如何正确访问jar中文件的见解。
答案 1 :(得分:-1)
AWS Lambda仅允许在函数的文件系统的/tmp
文件夹中进行写访问。尝试更改代码以匹配此路径,然后重试。