Skip to content

Commit 74a62b5

Browse files
committed
Merge pull request #8 from sakama/support-mapreduce-executor
Support MapReduce executor
2 parents 49e46ad + 3f511d4 commit 74a62b5

File tree

3 files changed

+47
-3
lines changed

3 files changed

+47
-3
lines changed

README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Stores files on a SFTP Server
1717
- **port**: (string, default: `22`)
1818
- **user**: (string, required)
1919
- **password**: (string, default: `null`)
20-
- **secret_key_file**: (string, default: `null`)
20+
- **secret_key_file**: (string, default: `null`) [see below](#secret-keyfile-configuration)
2121
- **secret_key_passphrase**: (string, default: `""`)
2222
- **user_directory_is_root**: (boolean, default: `true`)
2323
- **timeout**: sftp connection timeout seconds (integer, default: `600`)
@@ -42,6 +42,32 @@ out:
4242
sequence_format: ".%01d%01d"
4343
```
4444
45+
### Secret Keyfile configuration
46+
47+
Please set path of secret_key_file as follows.
48+
```
49+
out:
50+
type: sftp
51+
...
52+
secret_key_file: /path/to/id_rsa
53+
...
54+
```
55+
56+
You can also embed contents of secret_key_file at config.yml.
57+
```
58+
out:
59+
type: sftp
60+
...
61+
secret_key_file:
62+
content |
63+
-----BEGIN RSA PRIVATE KEY-----
64+
ABCDEFG...
65+
HIJKLMN...
66+
OPQRSTU...
67+
-----END RSA PRIVATE KEY-----
68+
...
69+
```
70+
4571
## Run Example
4672
replace settings in `example/sample.yml` before running.
4773

src/main/java/org/embulk/output/sftp/SftpFileOutput.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.embulk.output.sftp;
22

3+
import com.google.common.base.Function;
34
import com.google.common.base.Throwables;
45
import org.apache.commons.vfs2.FileObject;
56
import org.apache.commons.vfs2.FileSystemException;
@@ -12,6 +13,7 @@
1213
import org.embulk.spi.Exec;
1314
import org.embulk.spi.FileOutput;
1415
import org.embulk.spi.TransactionalFileOutput;
16+
import org.embulk.spi.unit.LocalFile;
1517
import org.slf4j.Logger;
1618

1719
import java.io.File;
@@ -80,7 +82,10 @@ private FileSystemOptions initializeFsOptions(PluginTask task)
8082
SftpFileSystemConfigBuilder.getInstance().setTimeout(fsOptions, task.getSftpConnectionTimeout());
8183
SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(fsOptions, "no");
8284
if (task.getSecretKeyFilePath().isPresent()) {
83-
IdentityInfo identityInfo = new IdentityInfo(new File((task.getSecretKeyFilePath().get())), task.getSecretKeyPassphrase().getBytes());
85+
IdentityInfo identityInfo = new IdentityInfo(
86+
new File((task.getSecretKeyFilePath().transform(localFileToPathString()).get())),
87+
task.getSecretKeyPassphrase().getBytes()
88+
);
8489
SftpFileSystemConfigBuilder.getInstance().setIdentityInfo(fsOptions, identityInfo);
8590
logger.info("set identity: {}", task.getSecretKeyFilePath().get());
8691
}
@@ -230,4 +235,15 @@ private FileObject newSftpFile(URI sftpUri)
230235
}
231236
}
232237
}
238+
239+
private Function<LocalFile, String> localFileToPathString()
240+
{
241+
return new Function<LocalFile, String>()
242+
{
243+
public String apply(LocalFile file)
244+
{
245+
return file.getPath().toString();
246+
}
247+
};
248+
}
233249
}

src/main/java/org/embulk/output/sftp/SftpFileOutputPlugin.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.embulk.spi.Exec;
1212
import org.embulk.spi.FileOutputPlugin;
1313
import org.embulk.spi.TransactionalFileOutput;
14+
import org.embulk.spi.unit.LocalFile;
1415
import org.slf4j.Logger;
1516

1617
import java.util.List;
@@ -39,7 +40,8 @@ public interface PluginTask
3940

4041
@Config("secret_key_file")
4142
@ConfigDefault("null")
42-
public Optional<String> getSecretKeyFilePath();
43+
public Optional<LocalFile> getSecretKeyFilePath();
44+
public void setSecretKeyFilePath(Optional<LocalFile> secretKeyFilePath);
4345

4446
@Config("secret_key_passphrase")
4547
@ConfigDefault("\"\"")

0 commit comments

Comments
 (0)