Sha256: 6f855ffa0bb85254456ed19ea0dde3379c3b4667b4b0956c99a1bdbc11db783b
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
package org.embulk.input.s3.explorer; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.model.ListObjectsRequest; import com.amazonaws.services.s3.model.ObjectListing; import com.amazonaws.services.s3.model.S3ObjectSummary; import org.embulk.input.s3.DefaultRetryable; import org.embulk.spi.util.RetryExecutor; import java.util.List; public class S3NameOrderPrefixFileExplorer extends S3PrefixFileExplorer { private String lastPath; public S3NameOrderPrefixFileExplorer(final String bucketName, final AmazonS3 s3Client, final RetryExecutor retryExecutor, final String pathPrefix, final boolean skipGlacierObjects, final String lastPath) { super(bucketName, s3Client, retryExecutor, pathPrefix, skipGlacierObjects); this.lastPath = lastPath; } @Override protected List<S3ObjectSummary> fetch() { final ListObjectsRequest req = new ListObjectsRequest(bucketName, pathPrefix, lastPath, null, 1024); final ObjectListing ol = new DefaultRetryable<ObjectListing>("Listing objects") { @Override public ObjectListing call() { return s3Client.listObjects(req); } }.executeWith(retryExecutor); lastPath = ol.getNextMarker(); return ol.getObjectSummaries(); } @Override protected boolean hasNext() { return lastPath != null; } }
Version data entries
2 entries across 2 versions & 1 rubygems