diff --git a/src/main/java/com/treasuredata/client/TDClient.java b/src/main/java/com/treasuredata/client/TDClient.java index a601f8f5..306cf76a 100644 --- a/src/main/java/com/treasuredata/client/TDClient.java +++ b/src/main/java/com/treasuredata/client/TDClient.java @@ -748,10 +748,18 @@ public TDJob jobInfo(String jobId) @Override public Result jobResult(String jobId, TDResultFormat format, Function resultStreamHandler) throws TDClientException + { + return jobResult(jobId, format, false, resultStreamHandler); + } + + @Override + public Result jobResult(String jobId, TDResultFormat format, boolean includeHeader, Function resultStreamHandler) + throws TDClientException { TDApiRequest request = TDApiRequest.Builder .GET(buildUrl("/v3/job/result", jobId)) .addQueryParam("format", format.getName()) + .addQueryParam("header", Boolean.toString(includeHeader)) .build(); return httpClient.call(request, apiKeyCache, resultStreamHandler); } diff --git a/src/main/java/com/treasuredata/client/TDClientApi.java b/src/main/java/com/treasuredata/client/TDClientApi.java index 57a82860..7cbf86c4 100644 --- a/src/main/java/com/treasuredata/client/TDClientApi.java +++ b/src/main/java/com/treasuredata/client/TDClientApi.java @@ -281,6 +281,20 @@ default Result jobResult(String jobId, TDResultFormat format, com.googl */ Result jobResult(String jobId, TDResultFormat format, Function resultStreamHandler); + /** + * Open an input stream to retrieve the job result. + * The input stream will be closed after this method + * + * You will receive an empty stream if the query has not finished yet. + * + * @param jobId + * @param format + * @param resultStreamHandler + * @param includeHeader + * @return + */ + Result jobResult(String jobId, TDResultFormat format, boolean includeHeader, Function resultStreamHandler); + // bulk import API List listBulkImportSessions();