我已经编写了一个AWS Lambda函数,其目的是在调用时-
它读取文件x.db的内容,从中获取特定值并返回给调用者。但是这个x.db文件会不时更改。因此,我想将此x.db文件上传到S3并从AWS
Lambda函数读取它,就像读取文件一样。
File xFile = new File("S3 file in x.db");
如何从用Java编写的AWS Lambda Function中读取此类x.db S3文件?
使用Java S3 SDK。如果您将一个名为x.db
S3 的文件上传到S3存储桶mybucket
,则该文件应如下所示:
import com.amazonaws.services.s3.*;
import com.amazonaws.services.s3.model.*;
...
AmazonS3 client = new AmazonS3Client();
S3Object xFile = client.getObject("mybucket", "x.db");
InputStream contents = xFile.getObjectContent();
此外,您应该确保已为lambda函数分配的角色可以访问S3存储桶。应用如下策略:
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
]
}]
我刚接触骆驼,需要一些指导。我需要从S3存储桶中读取一些文件。结构是这样的。 当一个特定的excel文件被放入传入的/xls文件夹(比如file1.xls)时,我需要拾取所有文件,进行一些处理并将它们放入具有相同目录结构的已处理文件夹中。 我需要使用什么组件?我试着阅读留档,但有点难以弄清楚我需要什么组件。我知道我会使用camel-aws-s3插件,但那里没有很多例子。
问题内容: 我想读取一个文件,该文件位于类路径中所包含的 之一内。我如何读取其中包含的任何文件? 问题答案: 如果要从应用程序内部读取该文件,请使用: 路径以“ /”开头,但这不是文件系统中的路径,而是类路径中的路径。因此,如果你的文件位于类路径“ org.xml”中,并且名为myxml.xml,则路径类似于“ /org/xml/myxml.xml”。 InputStream读取文件的内容。如果需
我在s3桶中保存了一些json文件,我想使用boto3读取这些json文件的内容。有人能建议怎么做吗?
问题内容: 如何从Java中classpath读取文本文件? 问题答案: 在类路径上的目录中,从同一类加载器加载的类中,你应该能够使用以下任一种: 如果这些都不起作用,则表明还有其他问题。 因此,例如,使用以下代码: 而这个目录结构: 然后(使用Linux机器上的Unix路径分隔符): 结果:
我正在编写一个程序,使用一个文件中的30个分数,计算出最低、最高和平均分数。我很难理解如何编写循环语句来读取每个等级并更新最低/最高等级,并在读取下一个等级之前将该值添加到总和。 谢谢想出来了:
问题内容: 我对此进行了一些讨论,但还不太了解正确的解决方案:我想将S3中的数百个文件加载到RDD中。这是我现在的做法: 在不使用实际的阅读客户端: 我从在Scala中针对相同问题看到的答案中“翻译”了一下。我认为也可以将整个路径列表传递给,但是我不确定哪种是最佳做法。 问题答案: 根本的问题是,在s3中列出对象的速度确实很慢,并且每当执行树遍历时,看起来像目录树的方式都会降低性能(就像路径的通配