|
1 | 1 | package org.embulk.input.s3;
|
2 | 2 |
|
3 | 3 | import java.util.List;
|
4 |
| -import java.util.ArrayList; |
5 |
| -import java.util.Collections; |
6 | 4 | import java.util.Iterator;
|
7 | 5 | import java.io.IOException;
|
8 | 6 | import java.io.InterruptedIOException;
|
9 | 7 | import java.io.InputStream;
|
10 | 8 |
|
11 | 9 | import com.google.common.annotations.VisibleForTesting;
|
12 |
| -import com.google.common.collect.ImmutableList; |
13 | 10 | import com.google.common.base.Optional;
|
14 | 11 | import com.google.common.base.Throwables;
|
15 | 12 | import org.slf4j.Logger;
|
16 |
| -import com.amazonaws.auth.AWSCredentials; |
17 | 13 | import com.amazonaws.auth.AWSCredentialsProvider;
|
18 | 14 | import com.amazonaws.services.s3.AmazonS3Client;
|
19 | 15 | import com.amazonaws.services.s3.model.ListObjectsRequest;
|
|
23 | 19 | import com.amazonaws.services.s3.model.S3Object;
|
24 | 20 | import com.amazonaws.ClientConfiguration;
|
25 | 21 | import com.amazonaws.AmazonServiceException;
|
26 |
| -import com.amazonaws.Protocol; |
27 | 22 | import org.embulk.config.Config;
|
28 | 23 | import org.embulk.config.ConfigInject;
|
29 | 24 | import org.embulk.config.ConfigDefault;
|
@@ -65,7 +60,9 @@ public interface PluginTask
|
65 | 60 | @ConfigDefault("null")
|
66 | 61 | public Optional<String> getAccessKeyId();
|
67 | 62 |
|
68 |
| - // TODO timeout, ssl, etc |
| 63 | + @Config("client_config") |
| 64 | + @ConfigDefault("{}") |
| 65 | + public ClientConfigurationConfigurable.Task getClientConfigurationConfigurableTask(); |
69 | 66 |
|
70 | 67 | public FileList getFiles();
|
71 | 68 | public void setFiles(FileList files);
|
@@ -129,14 +126,8 @@ protected AWSCredentialsProvider getCredentialsProvider(PluginTask task)
|
129 | 126 |
|
130 | 127 | protected ClientConfiguration getClientConfiguration(PluginTask task)
|
131 | 128 | {
|
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); |
140 | 131 | }
|
141 | 132 |
|
142 | 133 | private FileList listFiles(PluginTask task)
|
|
0 commit comments