private static void GetInventory(string jobId, string vaultName, string filename) { using (IAmazonGlacier client = new AmazonGlacierClient(RegionEndpoint.EUWest1)) { GetJobOutputRequest getJobOutputRequest = new GetJobOutputRequest() { JobId = jobId, VaultName = vaultName, }; GetJobOutputResponse getJobOutputResponse = client.GetJobOutput(getJobOutputRequest); using (Stream webStream = getJobOutputResponse.Body) { using (Stream fileToSave = File.OpenWrite(filename)) { CopyStream(webStream, fileToSave); } } } }
private void completeJob(Dictionary<string, string> properties, string action) { FolderVaultMapping mapping = Context.Mapping; string jobId = properties.ContainsKey("JobId") ? properties["JobId"] : null; if (jobId != null) { using (AmazonGlacierClient client = new AmazonGlacierClient(mapping.AccessKey, mapping.SecretKey, mapping.Endpoint)) { GetJobOutputRequest gReq = new GetJobOutputRequest(); GetJobOutputResponse gResp; GetJobOutputResult gResult; gReq.AccountId = "-"; gReq.JobId = jobId; gReq.VaultName = mapping.VaultName; gResp = client.GetJobOutput(gReq); gResult = gResp.GetJobOutputResult; using (Stream input = gResult.Body) { if (action == "InventoryRetrieval") { handleInventory(properties, input); } else if (action == "ArchiveRetrieval") { handleArchive(properties, input); } } } } }