Sample code for 30+ languages & platforms
Node.js

Glacier Get Inventory Retrieval Job Output

See more Amazon Glacier Examples

Demonstrates how to get and parse the inventory retrieval job output.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    var rest = new chilkat.Rest();

    // Connect to the Amazon AWS REST server in the desired region.
    var bTls = true;
    var port = 443;
    var bAutoReconnect = true;
    success = rest.Connect("glacier.us-west-2.amazonaws.com",port,bTls,bAutoReconnect);

    // Provide AWS credentials.
    var authAws = new chilkat.AuthAws();
    authAws.AccessKey = "AWS_ACCESS_KEY";
    authAws.SecretKey = "AWS_SECRET_KEY";
    authAws.ServiceName = "glacier";
    authAws.Region = "us-west-2";

    success = rest.SetAuthAws(authAws);

    // --------------------------------------------------------------------------
    // Note: The above REST connection and setup of the AWS credentials
    // can be done once.  After connecting, any number of REST calls can be made.
    // The "auto reconnect" property passed to rest.Connect indicates that if
    // the connection is lost, a REST method call will automatically reconnect
    // if needed.
    // --------------------------------------------------------------------------

    // 
    // For more information, see Glacier Retrieve Job Output Reference Documentation
    // 
    rest.AddHeader("x-amz-glacier-version","2012-06-01");

    var sbResponseBody = new chilkat.StringBuilder();
    success = rest.FullRequestNoBodySb("GET","/AWS_ACCOUNT_ID/vaults/chilkat/jobs/JOB_ID/output",sbResponseBody);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    var respStatusCode = rest.ResponseStatusCode;
    if (respStatusCode >= 400) {
        console.log("Response Status Code = " + respStatusCode);
        console.log("Response Header:");
        console.log(rest.ResponseHeader);
        console.log("Response Body:");
        console.log(sbResponseBody.GetAsString());
        return;
    }

    // Success is indicated by a 200 response status.
    console.log("response status code = " + respStatusCode);

    // The inventory retrieval job output is in CSV format.
    console.log("job output:");
    console.log(sbResponseBody.GetAsString());
    console.log("--");

    // The CSV has these fields:  ArchiveId,ArchiveDescription,CreationDate,Size,SHA256TreeHash
    // Parse the CSV like this...
    var csv = new chilkat.Csv();
    csv.HasColumnNames = true;
    csv.LoadFromString(sbResponseBody.GetAsString());

    var i = 0;
    var numRows = csv.NumRows;
    while (i < numRows) {
        console.log("ArchiveId: " + csv.GetCellByName(i,"ArchiveId"));
        console.log("Description: " + csv.GetCellByName(i,"ArchiveDescription"));
        console.log("Size: " + csv.GetCellByName(i,"Size"));
        console.log("-");
        i = i+1;
    }


}

chilkatExample();