Like for reading single file in spring batch from s3, we use
@Bean
public FlatFileItemReader<Map<String, Object>> itemReader() {
FlatFileItemReader<Map<String, Object>> reader = new FlatFileItemReader<>();
reader.setLineMapper(new JsonLineMapper());
reader.setRecordSeparatorPolicy(new JsonRecordSeparatorPolicy());
reader.setResource(resourceLoader.getResource("s3://" + amazonS3Bucket + "/" + file));
return reader;
}
But if i want to read all the files from some specific folder/key then is there something to MultiResourceItemReader, like below(which we use for local filesystem)
MultiResourceItemReader<UserData> reader = new MultiResourceItemReader<>();
reader.setResources(resources);
No, it is up to you to create the
Resource
array and pass it to theMultiResourceItemReader
.