【发布时间】:2019-02-12 00:35:12
【问题描述】:
我正在使用 Lambda 从 S3 读取一个 CSV 文件,并希望将该文件返回给 lambda 函数的调用者。我不想通过outputstream 打印文件 - 我想返回实际文件。有没有办法做到这一点?我得到这样的 S3 文件:
override def handleRequest(inputStream: InputStream,
outputStream: OutputStream,
context: Context): Unit = {
...
val s3File = s3Client.getObject(bucketName, bucketKey)
}
如何返回实际文件(而不是将其转换为字符串并通过outputStream 打印)?
【问题讨论】:
-
你不能那样做。您的
file句柄仅在您的 lambda 函数的上下文中有意义,在它之外没有任何意义。 -
“实际文件”是什么意思?谁将调用 lambda 以及如何处理 "file"? - 我相信您对
java.io.File的含义、S3的含义和工作原理以及网络的工作原理有很大的误解。 -
Lambda 函数是如何被调用的?
-
如果你有api网关+lambda设置,那么可以按照here描述的方式实现
-
它正在通过 API 网关调用。 @Rishikesh Darandale 该链接显示了 API 网关方面,但是 lambda 函数需要哪些代码才能实际返回它?
标签: scala amazon-web-services amazon-s3 aws-lambda aws-java-sdk