@Override public void close() throws IOException { selectObjectContentResult.close(); }
public SelectObjectContentResult withPayload(SelectObjectContentEventStream payload) { setPayload(payload); return this; }
public InputStream getRecordsContent(SelectObjectContentRequest selectObjectRequest) { this.selectObjectRequest = requireNonNull(selectObjectRequest, "selectObjectRequest is null"); this.selectObjectContentResult = s3Client.selectObjectContent(selectObjectRequest); return selectObjectContentResult.getPayload() .getRecordsInputStream( new SelectObjectContentEventVisitor() { @Override public void visit(EndEvent endEvent) { requestComplete = true; } }); }
@Override public SelectObjectContentResult selectObjectContent(SelectObjectContentRequest selectRequest) throws AmazonServiceException, SdkClientException { selectRequest = beforeClientExecution(selectRequest); rejectNull(selectRequest, "The request parameter must be specified"); rejectNull(selectRequest.getBucketName(), "The bucket name parameter must be specified when selecting object content."); rejectNull(selectRequest.getKey(), "The key parameter must be specified when selecting object content."); Request<SelectObjectContentRequest> request = createRequest(selectRequest.getBucketName(), selectRequest.getKey(), selectRequest, HttpMethodName.POST); request.addParameter("select", null); request.addParameter("select-type", "2"); populateSSE_C(request, selectRequest.getSSECustomerKey()); setContent(request, RequestXmlFactory.convertToXmlByteArray(selectRequest), ContentType.APPLICATION_XML.toString(), true); S3Object result = invoke(request, new S3ObjectResponseHandler(), selectRequest.getBucketName(), selectRequest.getKey()); // Hold a reference to this client while the InputStream is still // around - otherwise a finalizer in the HttpClient may reset the // underlying TCP connection out from under us. SdkFilterInputStream resultStream = new ServiceClientHolderInputStream(result.getObjectContent(), this); return new SelectObjectContentResult().withPayload(new SelectObjectContentEventStream(resultStream)); }
String res; try (SelectObjectContentResult result = s3client.selectObjectContent(request); SelectObjectContentEventStream payload = result.getPayload(); ByteArrayOutputStream out = new ByteArrayOutputStream()) { InputStream resultInputStream = payload.getRecordsInputStream(
public InputStream getRecordsContent(SelectObjectContentRequest selectObjectRequest) { this.selectObjectRequest = requireNonNull(selectObjectRequest, "selectObjectRequest is null"); this.selectObjectContentResult = s3Client.selectObjectContent(selectObjectRequest); return selectObjectContentResult.getPayload() .getRecordsInputStream( new SelectObjectContentEventVisitor() { @Override public void visit(EndEvent endEvent) { requestComplete = true; } }); }
@Override public void close() throws IOException { selectObjectContentResult.close(); }