static void RetrieveArchive(AmazonGlacier client, AWSArchiveRquest request) { // Initiate job. InitiateJobRequest initJobRequest = new InitiateJobRequest() { VaultName = vaultName, JobParameters = new JobParameters() { Type = "archive-retrieval", ArchiveId = request.ArchiveID, Description = "This job is to download archive updated as part of getting started", SNSTopic = topicArn, } }; InitiateJobResponse initJobResponse = client.InitiateJob(initJobRequest); string jobId = initJobResponse.InitiateJobResult.JobId; // Check queue for a message and if job completed successfully, download archive. ProcessQueue(jobId, client, request); }
/// <summary> /// This method initiates an archive retieval job for the specified archive and returns back the job id. /// Once the is complete /// </summary> /// <param name="vaultName">The name of the vault that contains the archive to initiate the job for.</param> /// <param name="archiveId">The archive id that the download job will retrieve.</param> /// <param name="options">Additional options that can be used for initiating archive retrieval.</param> /// <returns>The job id for the initiated job.</returns> public string InitiateArchiveRetrievalJob(string vaultName, string archiveId, InitiateArchiveRetrievalOptions options) { InitiateJobRequest jobRequest = new InitiateJobRequest() { VaultName = vaultName, JobParameters = new JobParameters() { ArchiveId = archiveId, Type = "archive-retrieval" } }; if (options != null) { jobRequest.AccountId = options.AccountId; jobRequest.JobParameters.SNSTopic = options.SNSTopic; } var jobId = glacierClient.InitiateJob(jobRequest).InitiateJobResult.JobId; return(jobId); }