JavaからAWS CLIを実行

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

シェアする

  • このエントリーをはてなブックマークに追加

フォローする