AWS Lambda函数无法读取我的.bin文件(Java)

时间:2018-09-17 12:21:09

标签: java amazon-s3 aws-lambda aws-sdk

我用Java编写了一个程序,并通过创建一个包含所有必要文件的JAR文件将其部署到AWS Lambda。我的请求处理程序调用一个方法,该方法尝试在try-catch中创建4个新的FileInputStreams,并将.bin文件作为输入。例如:InputStream stream =新的FileInputStream(“ random.bin”)。但是,由于IOException,将在尝试创建第一个语句后转到catch语句。我的班级文件在src / main / java / package中。我的.bin文件位于包含src文件夹的目录中,并且我还尝试将它们全部放在一个文件夹中,但这不能解决问题。非常困惑如何解决这个问题。当我调用读取文本文件时,它也不起作用,因此它不仅限于二进制文件。我当时正在考虑将二进制文件放入S3存储桶中,然后以某种方式从那里读取它们,但是我没有在网上找到太多东西来详细说明如何在Java中做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:0)

您的jar会将文件放在您期望的不同位置。 question可能会为您提供如何正确访问jar中文件的见解。

答案 1 :(得分:-1)

AWS Lambda仅允许在函数的文件系统的/tmp文件夹中进行写访问。尝试更改代码以匹配此路径,然后重试。