B4X
B4X
Glacier Get Inventory Retrieval Job Output
See more Amazon Glacier Examples
Demonstrates how to get and parse the inventory retrieval job output.Chilkat B4X Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim rest As ChilkatRest
rest.Initialize("rest")
' Connect to the Amazon AWS REST server in the desired region.
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("glacier.us-west-2.amazonaws.com", port, bTls, bAutoReconnect)
' Provide AWS credentials.
Dim authAws As ChilkatAuthAws
authAws.Initialize
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")
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = rest.FullRequestNoBodySb("GET", "/AWS_ACCOUNT_ID/vaults/chilkat/jobs/JOB_ID/output", sbResponseBody)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
Dim respStatusCode As Int = rest.ResponseStatusCode
If respStatusCode >= 400 Then
Log("Response Status Code = " & respStatusCode)
Log("Response Header:")
Log(rest.ResponseHeader)
Log("Response Body:")
Log(sbResponseBody.GetAsString)
Return
End If
' Success is indicated by a 200 response status.
Log("response status code = " & respStatusCode)
' The inventory retrieval job output is in CSV format.
Log("job output:")
Log(sbResponseBody.GetAsString)
Log("--")
' The CSV has these fields: ArchiveId,ArchiveDescription,CreationDate,Size,SHA256TreeHash
' Parse the CSV like this...
Dim csv As ChilkatCsv
csv.Initialize
csv.HasColumnNames = True
csv.LoadFromString(sbResponseBody.GetAsString)
Dim i As Int = 0
Dim numRows As Int = csv.NumRows
Do While i < numRows
Log("ArchiveId: " & csv.GetCellByName(i, "ArchiveId"))
Log("Description: " & csv.GetCellByName(i, "ArchiveDescription"))
Log("Size: " & csv.GetCellByName(i, "Size"))
Log("-")
i = i + 1
Loop