Example usage for com.amazonaws.services.glacier AmazonGlacierAsyncClient getJobOutput

List of usage examples for com.amazonaws.services.glacier AmazonGlacierAsyncClient getJobOutput

Introduction

In this page you can find the example usage for com.amazonaws.services.glacier AmazonGlacierAsyncClient getJobOutput.

Prototype

GetJobOutputResult getJobOutput(GetJobOutputRequest getJobOutputRequest);

Source Link

Document

This operation downloads the output of the job you initiated using InitiateJob.

Usage

From source file:opendap.aws.glacier.Download.java

License:Open Source License

public boolean downloadJobOutput(File downloadFile) throws IOException {

    if (!jobCompleted()) {
        _log.warn("Glacier retrieval job has not completed!");
        return false;
    }//from  www .j ava2  s .c o  m
    boolean success = false;

    String jobId = getInitiateJobResult().getJobId();

    _log.debug("downloadJobOutput() - BEGIN (Retrieving Glacier Job Result. JobID: {})", jobId);

    try {
        AmazonGlacierAsyncClient client = new AmazonGlacierAsyncClient(getCredentials());
        client.setEndpoint(getEndpointUrl());

        GetJobOutputRequest jobOutputRequest = new GetJobOutputRequest().withJobId(jobId)
                .withVaultName(getVaultName());
        GetJobOutputResult jobOutputResult = client.getJobOutput(jobOutputRequest);

        InputStream in = jobOutputResult.getBody();

        FileOutputStream out = new FileOutputStream(downloadFile);
        IOUtils.copy(in, out);

        _log.error("downloadJobOutput() - Retrieved Glacier job output. CacheFile: {}",
                downloadFile.getAbsolutePath());

        success = true;

    } catch (Exception e) {
        _log.error("downloadJobOutput() - Failed to retrieve Glacier job output. Msg: {}", e.getMessage());
    }

    _log.debug("downloadJobOutput() - END");

    return success;

}