【问题标题】:AWS Lambda function can't read my .bin files (Java)AWS Lambda 函数无法读取我的 .bin 文件 (Java)
【发布时间】:2023-03-03 16:11:01
【问题描述】:

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 我尝试了该帖子中列出的大多数方法,但没有一个对我有用。
    • 出了什么问题?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-12
      • 2018-08-12
      • 2016-07-27
      • 2020-02-25
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      相关资源
      最近更新 更多