JavaからAWSを操作したい場合、普通はAWS SDK for Javaなどを使うのだと思う。
だが、使い方を調べるのがめんどくさかったので、Linux環境でいつも使っているAWS CLIを使うことにした。
以下、実行例。
ProcessBuilder pb = new ProcessBuilder("sh", "-c", "/usr/local/bin/aws s3 cp localFile s3://mybucket/myfolder");
pb.redirectErrorStream(true);
Process process;
int result = -1;
try {
process = pb.start();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), Charset.defaultCharset()));
String line;
while ((line = br.readLine()) != null) {
logger.info(line);
}
result = process.waitFor();
} catch (Exception e) {
logger.error("Exception Handling");
}
return result; // 0:Success, other:ErrorCode