Skip to content

Commit 6678687

Browse files
committed
Implement ClientConfigurationConfigurable
1 parent c5691dc commit 6678687

File tree

3 files changed

+571
-14
lines changed

3 files changed

+571
-14
lines changed

embulk-input-s3/src/main/java/org/embulk/input/s3/AbstractS3FileInputPlugin.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
package org.embulk.input.s3;
22

33
import java.util.List;
4-
import java.util.ArrayList;
5-
import java.util.Collections;
64
import java.util.Iterator;
75
import java.io.IOException;
86
import java.io.InterruptedIOException;
97
import java.io.InputStream;
108

119
import com.google.common.annotations.VisibleForTesting;
12-
import com.google.common.collect.ImmutableList;
1310
import com.google.common.base.Optional;
1411
import com.google.common.base.Throwables;
1512
import org.slf4j.Logger;
16-
import com.amazonaws.auth.AWSCredentials;
1713
import com.amazonaws.auth.AWSCredentialsProvider;
1814
import com.amazonaws.services.s3.AmazonS3Client;
1915
import com.amazonaws.services.s3.model.ListObjectsRequest;
@@ -23,7 +19,6 @@
2319
import com.amazonaws.services.s3.model.S3Object;
2420
import com.amazonaws.ClientConfiguration;
2521
import com.amazonaws.AmazonServiceException;
26-
import com.amazonaws.Protocol;
2722
import org.embulk.config.Config;
2823
import org.embulk.config.ConfigInject;
2924
import org.embulk.config.ConfigDefault;
@@ -65,7 +60,9 @@ public interface PluginTask
6560
@ConfigDefault("null")
6661
public Optional<String> getAccessKeyId();
6762

68-
// TODO timeout, ssl, etc
63+
@Config("client_config")
64+
@ConfigDefault("{}")
65+
public ClientConfigurationConfigurable.Task getClientConfigurationConfigurableTask();
6966

7067
public FileList getFiles();
7168
public void setFiles(FileList files);
@@ -129,14 +126,8 @@ protected AWSCredentialsProvider getCredentialsProvider(PluginTask task)
129126

130127
protected ClientConfiguration getClientConfiguration(PluginTask task)
131128
{
132-
ClientConfiguration clientConfig = new ClientConfiguration();
133-
134-
//clientConfig.setProtocol(Protocol.HTTP);
135-
clientConfig.setMaxConnections(50); // SDK default: 50
136-
clientConfig.setMaxErrorRetry(3); // SDK default: 3
137-
clientConfig.setSocketTimeout(8*60*1000); // SDK default: 50*1000
138-
139-
return clientConfig;
129+
ClientConfigurationConfigurable.Task configurableTask = task.getClientConfigurationConfigurableTask();
130+
return ClientConfigurationConfigurable.getClientConfiguration(configurableTask);
140131
}
141132

142133
private FileList listFiles(PluginTask task)

0 commit comments

Comments
 (0)