embulk-output-s3 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f60fa827c7b7dabc3d3e80a7408b00169ee4547
4
- data.tar.gz: 028916eda060b243fa22bce5608e48049fb2edb6
3
+ metadata.gz: 00334de8a039abe0bdb057ddad0b98961fd4ad58
4
+ data.tar.gz: 6077938b5cb562c6c006986623cbd0b4428fe11f
5
5
  SHA512:
6
- metadata.gz: 1d1883290af301a74de2944ab006cdb75c6381007b2825b06693d9c8f0152e062044e37f97aea6a0553b8eba69785c518352fb13ba48fd76a894e7471eb7fa63
7
- data.tar.gz: 2ff3773d9dff06db9e1f06da57279737373cfe2bc442e365d046705d79c12f63eec7c2501a998d0b5a3ebf7caa9adee3c4eb683604b9964bd851075666735629
6
+ metadata.gz: b230018fc21488af215c1d819659e75e09c934e2f34a078dea81c3daf5fba46a1620fa2124550a317ca3e083fd43b52c8acdaf411f463753f0dec94dd9dac7db
7
+ data.tar.gz: 1f3ee354c87960fd5f79b757add1c6424250c0a338529a76c4397b8d2d5f2e11ba0c60190253a1380448eb0c5d68114b815f17b62a930b365d775408b713eccd
data/README.md CHANGED
@@ -22,8 +22,11 @@
22
22
  - **endpoint**: S3 endpoint login user name (string, optional)
23
23
  - **access_key_id**: AWS access key id. This parameter is required when your agent is not running on EC2 instance with an IAM Role. (string, defualt: null)
24
24
  - **secret_access_key**: AWS secret key. This parameter is required when your agent is not running on EC2 instance with an IAM Role. (string, defualt: null)
25
+ - **tmp_path**: temporary file directory. If null, it is associated with the default FileSystem. (string, default: null)
25
26
  - **tmp_path_prefix**: prefix of temporary files (string, default: 'embulk-output-s3-')
26
27
  - **canned_acl**: canned access control list for created objects ([enum](#cannedaccesscontrollist), default: null)
28
+ - **proxy_host**: proxy host to use when accessing AWS S3 via proxy. (string, default: null )
29
+ - **proxy_port**: proxy port to use when accessing AWS S3 via proxy. (string, default: null )
27
30
 
28
31
  ### CannedAccessControlList
29
32
  you can choose one of the below list.
data/build.gradle CHANGED
@@ -13,7 +13,7 @@ configurations {
13
13
  provided
14
14
  }
15
15
 
16
- version = "1.3.0"
16
+ version = "1.4.0"
17
17
 
18
18
  sourceCompatibility = 1.7
19
19
  targetCompatibility = 1.7
@@ -4,6 +4,7 @@ import java.io.IOException;
4
4
  import java.io.OutputStream;
5
5
  import java.nio.file.Files;
6
6
  import java.nio.file.Path;
7
+ import java.nio.file.Paths;
7
8
  import java.util.IllegalFormatException;
8
9
  import java.util.List;
9
10
  import java.util.Locale;
@@ -61,6 +62,18 @@ public class S3FileOutputPlugin
61
62
  @ConfigDefault("null")
62
63
  Optional<String> getSecretAccessKey();
63
64
 
65
+ @Config("proxy_host")
66
+ @ConfigDefault("null")
67
+ Optional<String> getProxyHost();
68
+
69
+ @Config("proxy_port")
70
+ @ConfigDefault("null")
71
+ Optional<Integer> getProxyPort();
72
+
73
+ @Config("tmp_path")
74
+ @ConfigDefault("null")
75
+ Optional<String> getTempPath();
76
+
64
77
  @Config("tmp_path_prefix")
65
78
  @ConfigDefault("\"embulk-output-s3-\"")
66
79
  String getTempPathPrefix();
@@ -88,6 +101,7 @@ public class S3FileOutputPlugin
88
101
  private AmazonS3Client client;
89
102
  private OutputStream current;
90
103
  private Path tempFilePath;
104
+ private String tempPath = null;
91
105
 
92
106
  private static AmazonS3Client newS3Client(PluginTask task)
93
107
  {
@@ -96,6 +110,14 @@ public class S3FileOutputPlugin
96
110
  // TODO: Support more configurations.
97
111
  ClientConfiguration config = new ClientConfiguration();
98
112
 
113
+ if (task.getProxyHost().isPresent()) {
114
+ config.setProxyHost(task.getProxyHost().get());
115
+ }
116
+
117
+ if (task.getProxyPort().isPresent()) {
118
+ config.setProxyPort(task.getProxyPort().get());
119
+ }
120
+
99
121
  if (task.getAccessKeyId().isPresent()) {
100
122
  BasicAWSCredentials basicAWSCredentials = new BasicAWSCredentials(
101
123
  task.getAccessKeyId().get(), task.getSecretAccessKey().get());
@@ -123,13 +145,20 @@ public class S3FileOutputPlugin
123
145
  this.sequenceFormat = task.getSequenceFormat();
124
146
  this.fileNameExtension = task.getFileNameExtension();
125
147
  this.tempPathPrefix = task.getTempPathPrefix();
148
+ if (task.getTempPath().isPresent()) {
149
+ this.tempPath = task.getTempPath().get();
150
+ }
126
151
  this.cannedAccessControlListOptional = task.getCannedAccessControlList();
127
152
  }
128
153
 
129
- private static Path newTempFile(String prefix)
154
+ private static Path newTempFile(String tmpDir, String prefix)
130
155
  throws IOException
131
156
  {
132
- return Files.createTempFile(prefix, null);
157
+ if (tmpDir == null) {
158
+ return Files.createTempFile(prefix, null);
159
+ } else {
160
+ return Files.createTempFile(Paths.get(tmpDir), prefix, null);
161
+ }
133
162
  }
134
163
 
135
164
  private void deleteTempFile()
@@ -193,7 +222,7 @@ public class S3FileOutputPlugin
193
222
  closeCurrent();
194
223
 
195
224
  try {
196
- tempFilePath = newTempFile(tempPathPrefix);
225
+ tempFilePath = newTempFile(tempPath, tempPathPrefix);
197
226
 
198
227
  log.info("Writing S3 file '{}'", buildCurrentKey());
199
228
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Takayama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-12 00:00:00.000000000 Z
11
+ date: 2016-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +59,14 @@ files:
59
59
  - settings.gradle
60
60
  - src/main/java/org/embulk/output/S3FileOutputPlugin.java
61
61
  - src/test/java/org/embulk/output/TestS3FileOutputPlugin.java
62
- - classpath/embulk-output-s3-1.3.0.jar
63
- - classpath/aws-java-sdk-s3-1.10.26.jar
62
+ - classpath/aws-java-sdk-core-1.10.26.jar
64
63
  - classpath/aws-java-sdk-kms-1.10.26.jar
64
+ - classpath/aws-java-sdk-s3-1.10.26.jar
65
65
  - classpath/commons-codec-1.6.jar
66
- - classpath/httpcore-4.3.3.jar
67
- - classpath/httpclient-4.3.6.jar
68
- - classpath/aws-java-sdk-core-1.10.26.jar
69
66
  - classpath/commons-logging-1.1.3.jar
67
+ - classpath/embulk-output-s3-1.4.0.jar
68
+ - classpath/httpclient-4.3.6.jar
69
+ - classpath/httpcore-4.3.3.jar
70
70
  homepage: https://github.com/llibra/embulk-output-s3
71
71
  licenses:
72
72
  - MIT