PowerShell
PowerShell
Glacier Initiate Inventory Retrieval Job
See more Amazon Glacier Examples
Demonstrates how to initiate an inventory retrieval job to get a list of archives from the examplevault vault. The Format set to CSV in the body of the request indicates that the inventory is returned in CSV format.Note: This example requires Chilkat v9.5.0.78 or greater.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$rest = New-Object Chilkat.Rest
# Connect to the Amazon AWS REST server in the desired region.
$bTls = $true
$port = 443
$bAutoReconnect = $true
$success = $rest.Connect("glacier.us-west-2.amazonaws.com",$port,$bTls,$bAutoReconnect)
# Provide AWS credentials.
$authAws = New-Object 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 Initiate Job Post Reference Documentation
#
$rest.AddHeader("x-amz-glacier-version","2012-06-01")
# The body of our request will contain this JSON:
# {
# "Type": "inventory-retrieval",
# "Description": "My inventory job",
# "Format": "CSV",
# "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-InventoryRetrieval-topic-Example"
# }
# Use this online tool to generate the code from sample JSON:
# Generate Code to Create JSON
$json = New-Object Chilkat.JsonObject
$json.UpdateString("Type","inventory-retrieval")
$json.UpdateString("Description","My inventory job")
$json.UpdateString("Format","CSV")
# The SNSTopic is optional. If included, then notification is sent to the SNS topic when the job is complete.
# This example will omit the SNSTopic.
$sbRequestBody = New-Object Chilkat.StringBuilder
$json.EmitSb($sbRequestBody)
$sbResponseBody = New-Object Chilkat.StringBuilder
# Start an inventory retrieval job for the vault named "chilkat".
$success = $rest.FullRequestSb("POST","/AWS_ACCOUNT_ID/vaults/chilkat/jobs",$sbRequestBody,$sbResponseBody)
if ($success -ne $true) {
$($rest.LastErrorText)
exit
}
$respStatusCode = $rest.ResponseStatusCode
if ($respStatusCode -ge 400) {
$("Response Status Code = " + $respStatusCode)
$("Response Header:")
$($rest.ResponseHeader)
$("Response Body:")
$($sbResponseBody.GetAsString())
exit
}
# Success is indicated by a 202 response status with an empty response body.
$("response status code = " + $respStatusCode)
# If successful, the response header looks like this.
# The Location and x-amz-job-id are two items of information we may wish to save..
# HTTP/1.1 202 Accepted
# x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q
# Date: Wed, 10 Feb 2017 12:00:00 GMT
# Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID
# x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID
#
$jobId = $rest.ResponseHdrByName("x-amz-job-id")
$("x-amz-job-id = " + $jobId)
$location = $rest.ResponseHdrByName("Location")
$("Location = " + $location)