示例#1
0
        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);
        }