public void runDownload()
        {
            try
            {
                //var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

                //var options = new DownloadOptions();
                //options.StreamTransferProgress += ArchiveDownloadHighLevel.progress;
                //// Download an archive.
                //Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                //Console.WriteLine("This polling takes about 4 hours. Once the archive is available, downloading will begin.");
                //manager.Download(vaultName, archiveId, downloadFilePath, options);
                //Console.WriteLine("To continue, press Enter");
                //Console.ReadKey();

                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
                var options = new DownloadOptions();
                options.StreamTransferProgress += DownloadFile.progress;
                Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                Console.WriteLine("This polling takes about 4 hours. Once the archive is available, downloading will begin.");
                manager.Download(vaultName, archiveToDownload, downloadFilePath, options);
                manager.Download(vaultName, archiveToDownload2, downloadFilePath2, options);

                Console.WriteLine("To continue, press Enter");
                Console.ReadKey();
            }
            catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
            catch (Exception e) { Console.WriteLine(e.Message); }
            Console.WriteLine("To continue, press Enter");
            Console.ReadKey();
        }
Esempio n. 2
0
        internal async Task <string> GetVaultNameAsync(CancellationToken cancellationToken)
        {
            using (AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast2))
            {
                var request = new DescribeVaultRequest
                {
                    VaultName = $"{PreferedVaultName}_{_configuration.UniqueClientId}"
                };
                try
                {
                    var details = await client.DescribeVaultAsync(request, cancellationToken).ConfigureAwait(false);

                    if (!string.IsNullOrEmpty(details.VaultName))
                    {
                        return(details.VaultName);
                    }
                    using (ArchiveTransferManager manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast2))
                    {
                        manager.CreateVault(request.VaultName);
                    }
                }
                catch (Exception e)
                {
                    _logger.Info(e, $"Vault does not exist. Creating vault '{request.VaultName}' ...");
                    throw new ConfigurationErrorsException("Cannot create vault", e);
                }


                return(request.VaultName);
            }
        }
        private void UploadSingleFile(IAmazonGlacier client,
                                      string vaultName,
                                      string accountId,
                                      string startingFolder,
                                      string filePath,
                                      int thisFileIndex,
                                      int allFilesCount)
        {
            using (var transferManager = new ArchiveTransferManager(client))
            {
                var runner        = new ProgressRunner(this);
                var uploadOptions = new UploadOptions
                {
                    AccountId = accountId
                };

                var tracker = new UploadFolderProgressTracker(runner, handler => uploadOptions.StreamTransferProgress += handler, startingFolder, filePath, thisFileIndex, allFilesCount);

                var output = new CmdletOutput();
                runner.SafeRun(() =>
                {
#if DESKTOP
                    var result = transferManager.Upload(vaultName, "", filePath, uploadOptions);
#else
                    var result = transferManager.UploadAsync(vaultName, "", filePath, uploadOptions).GetAwaiter().GetResult();
#endif

                    output.PipelineOutput = new FileUploadResult(filePath, result);
                }, tracker, output);

                ProcessOutput(output);
            }
        }
        private void UploadSingleFile(IAmazonGlacier client,
                                      string vaultName,
                                      string accountId,
                                      string filePath,
                                      string description)
        {
            using (var transferManager = new ArchiveTransferManager(client))
            {
                var runner        = new ProgressRunner(this);
                var uploadOptions = new UploadOptions
                {
                    AccountId = accountId
                };

                var tracker = new UploadProgressTracker(runner, handler => uploadOptions.StreamTransferProgress += handler, filePath);

                var output = new CmdletOutput();
                runner.SafeRun(() =>
                {
#if DESKTOP
                    var result = transferManager.Upload(vaultName, description, filePath, uploadOptions);
#else
                    var result = transferManager.UploadAsync(vaultName, description, filePath, uploadOptions).GetAwaiter().GetResult();
#endif

                    output.PipelineOutput = new FileUploadResult(filePath, result);
                }, tracker, output);

                // write as we go so that any subsequent error doesn't cause the user to lose
                // the ids of archives we have successfully uploaded so far
                ProcessOutput(output);
            }
        }
Esempio n. 5
0
        public void DownloadArchive()
        {
            var manager = new ArchiveTransferManager(credentials, Amazon.RegionEndpoint.USWest1);

            manager.Download(vaultName, "Fwu7VQI4XKOgZkf-TzQxZeiGkB4Ker1T2P79gYwMYzRnyQaYSNC_JyKlYs99ITvFOJrqAFy1iaW8tQIZGsekEbBdyKhQ1d32vOtFraaN5u7sYXYnCGsWNZ4OC7FVWw_HHxg50TkTfA", AppDomain.CurrentDomain.BaseDirectory + "\\test-galcier.txt");
            Console.WriteLine("File downloaded successfully!");
        }
Esempio n. 6
0
        static void Main()
        {
            try
            {
                var manager = new ArchiveTransferManager(RegionEndpoint.USEast2);

                var options = new DownloadOptions
                {
                    StreamTransferProgress = Progress,
                };

                // Download an archive.
                Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                Console.WriteLine("Once the archive is available, downloading will begin.");
                manager.DownloadAsync(VaultName, ArchiveId, DownloadFilePath, options);
                Console.WriteLine("To continue, press Enter");
                Console.ReadKey();
            }
            catch (AmazonGlacierException ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("To continue, press Enter");
            Console.ReadKey();
        }
Esempio n. 7
0
        public void DownloadGlacier()
        {
            var archiveId        = "SOUSY3B601HbkJSiFdrzvE3CUDHuLHaoxbKwbIiSIdIuQTjcTw_XXm0i38HGLaJhubxRrTdvY-5UjYsSLWK0PVMcG5Mf9LKd9oBPAuwNIzGGhZmZ7zF9DaQU6lDuPh2C_4ViIc5dlw";
            var settings         = SettingsManager.GetSettings();
            var downloadFilePath = @"C:\Users\Rob\source\repos\Backup\archive\glacier.zip";

            try
            {
                var manager = new ArchiveTransferManager(
                    settings.AWSAccessKeyID,
                    settings.AWSSecretAccessKey,
                    RegionEndpoint.GetBySystemName(settings.AWSS3Region.SystemName));

                var options = new DownloadOptions();
                options.StreamTransferProgress += AWSGlacierClient.Progress;

                // High-level method to download an archive.
                // Intiating the archive retrieval job and then polling SQS queue for the archive to be available
                // This polling takes about 4 hours. Once the archive is available, downloading will begin.
                manager.Download(settings.AWSGlacierVault, archiveId, downloadFilePath, options);
            }
            catch (AmazonGlacierException e) { Debug.WriteLine(e.Message); throw e; }
            catch (AmazonServiceException e) { Debug.WriteLine(e.Message); throw e; }
            catch (Exception e) { Debug.WriteLine(e.Message); throw e; }
        }
Esempio n. 8
0
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;

            var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);

            Utils.Common.WriteVerboseEndpointMessage(this, Client.Config, "GetJobOutput");

            using (var transferManager = new ArchiveTransferManager(client))
            {
                var runner          = new ProgressRunner(this);
                var downloadOptions = new DownloadOptions
                {
                    AccountId = cmdletContext.AccountId
                };

                var tracker = new DownloadProgressTracker(runner, handler => downloadOptions.StreamTransferProgress += handler, cmdletContext.FilePath);

                var output = runner.SafeRun(() =>
                {
#if DESKTOP
                    transferManager.DownloadJob(cmdletContext.VaultName, cmdletContext.JobId, cmdletContext.FilePath, downloadOptions);
#else
                    transferManager.DownloadJobAsync(cmdletContext.VaultName, cmdletContext.JobId, cmdletContext.FilePath, downloadOptions).Wait();
#endif
                }, tracker);

                return(output);
            }
        }
Esempio n. 9
0
        public static AWSArchiveResult DownloadFile(AWSArchiveRquest request)
        {
            using (manager = new ArchiveTransferManager(RegionEndpoint.USEast1))
            {
                if (CheckRequiredFields())
                {
                    try
                    {
                        Form1.log.Info("Download a Archive");

                        try
                        {
                            var options = new DownloadOptions();
                            options.StreamTransferProgress += AWSMoveFilesXDynamo.OnProgress;

                            // Download an archive.
                            manager.Download(vaultName, request.ArchiveID, request.Description, options);
                        }
                        catch (AmazonGlacierException e) { Form1.log.Error(e.Message); }
                        catch (AmazonServiceException e) { Form1.log.Error(e.Message); }
                        catch (Exception e) { Form1.log.Error(e.Message); }
                    }
                    catch (AmazonGlacierException e)
                    {
                        Form1.log.Error(e.Message);
                    }
                    catch (AmazonServiceException e)
                    {
                        Form1.log.Error(e.Message);
                    }
                }
                return(new AWSArchiveResult());
            }
        }
Esempio n. 10
0
 internal Program(Options opts)
 {
     _opts         = opts;
     _searcher     = GetFileSearcher();
     _resultWriter = GetResultWriter();
     _vpus         = GetVpus();
     _atm          = new ArchiveTransferManager(_opts.Credentials, _opts.Region);
 }
Esempio n. 11
0
 public void Glacier(string file)
 {
     string vaultName       = "GlacialTest";
     string archiveToUpload = file;
     var    credentials     = new BasicAWSCredentials("XXX", "XXX");
     var    manager         = new ArchiveTransferManager(credentials, Amazon.RegionEndpoint.USEast1);
     string archiveId       = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;
 }//glacier
 public static void DeleteArchive(string vaultName, string archiveId, Amazon.RegionEndpoint awsRegion)
 {
     Logger.LogMessage($"Deleting archive '{archiveId}' from {vaultName}...");
     using (var manager = new ArchiveTransferManager(awsRegion))
     {
         manager.DeleteArchive(vaultName, archiveId);
     }
 }
Esempio n. 13
0
        private void UploadToGlacier(string backupPath, PeriodicBackupSetup localBackupConfigs)
        {
            var awsRegion = RegionEndpoint.GetBySystemName(localBackupConfigs.AwsRegionEndpoint) ?? RegionEndpoint.USEast1;
            var manager   = new ArchiveTransferManager(awsAccessKey, awsSecretKey, awsRegion);
            var archiveId = manager.Upload(localBackupConfigs.GlacierVaultName, GetArchiveDescription(), backupPath).ArchiveId;

            logger.Info(string.Format("Successfully uploaded backup {0} to Glacier, archive ID: {1}", Path.GetFileName(backupPath),
                                      archiveId));
        }
Esempio n. 14
0
        public void DownloadArchive()
        {
            var manager = new ArchiveTransferManager(credentials, Amazon.RegionEndpoint.USWest1);

            manager.Download(vaultName,
                             "bIN_WObb6J9b_EkKN-G0nOXn1bf6J0JJM573ZbFg8K5KuuWsZDgmGBylHg_MiIaB3My-d1n5qtW_AsMgZgVg6FOzPjgeKbu1RX2jrkUi2kpH0SJ5xhkgjXz-XgWYS3OVqq5hxN_Ftw",
                             AppDomain.CurrentDomain.BaseDirectory + "\\test-galcier.txt");
            Console.WriteLine("File downloaded successfully");
        }
Esempio n. 15
0
 public GlacierGateway(GlacierParameters parameters)
 {
     _accessKeyId     = parameters.AccessKeyId;
     _secretAccessKey = parameters.SecretAccessKey;
     _accountId       = parameters.AccountId ?? "-";
     _region          = parameters.GetRegion();
     _vaultName       = parameters.VaultName;
     _glacierClient   = new AmazonGlacierClient(_accessKeyId, _secretAccessKey, _region);
     _transferManager = new ArchiveTransferManager(_accessKeyId, _secretAccessKey, _region);
 }
Esempio n. 16
0
        internal DownloadJobCommand(ArchiveTransferManager manager, string vaultName, string jobId, string filePath, DownloadOptions options)
        {
            this.manager = manager;
            this.vaultName = vaultName;
            this.jobId = jobId;
            this.filePath = filePath;
            this.options = options;

            if (this.options == null)
                this.options = new DownloadOptions();
        }
Esempio n. 17
0
        internal BaseUploadCommand(ArchiveTransferManager manager, string vaultName, string archiveDescription, string filePath, UploadOptions options)
        {
            this.manager = manager;
            this.vaultName = vaultName;
            this.archiveDescription = archiveDescription;
            this.filePath = filePath;
            this.options = options;

            if (this.options == null)
                this.options = new UploadOptions();
        }
        public void Execute()
        {
            VaultInventory vaultInventory = VaultInventoryParser.Parse(_vaultInventoryFile);

            NasFiles nasFiles = NasBackup.GetFiles(_nasPath);

            IEnumerable <GlacierFile> glacierFiles = vaultInventory.ArchiveList;

            IEnumerable <File> localFiles = nasFiles.Files;

            IEnumerable <GlacierFile> glacierExtraAgeFiles = FileMatcher.GetGlacierExtraFiles(glacierFiles,
                                                                                              localFiles,
                                                                                              _glacierOlderThan);

            var deleteFileResults = new List <GlacierDeleteFileResult>();

            using (var mgr = new ArchiveTransferManager(RegionEndpoint.USWest2))
            {
                foreach (GlacierFile g in glacierExtraAgeFiles)
                {
                    string deleteFailure = null;

                    bool isOldEnough = g.AgeDays > 90;

                    if (isOldEnough)
                    {
                        try
                        {
                            mgr.DeleteArchive(vaultName: "backup-home",
                                              archiveId: g.ArchiveId);
                        }
                        catch (Exception ex)
                        {
                            deleteFailure = ex.Message;
                        }
                    }
                    else
                    {
                        deleteFailure = string.Format("File is not old enough to be deleted. Age: [{0}]", g.AgeDays);
                    }

                    var deleteFileResult = new GlacierDeleteFileResult(g.NormalizedFilePath,
                                                                       deleteFailure,
                                                                       g.SizeBytes);

                    deleteFileResults.Add(deleteFileResult);
                }
            }

            var result = new DeleteGlacierFilesResult(deleteFileResults);

            ConsoleView.Show(result);
        }
        internal DownloadJobCommand(ArchiveTransferManager manager, string vaultName, string jobId, string filePath, DownloadOptions options)
        {
            this.manager   = manager;
            this.vaultName = vaultName;
            this.jobId     = jobId;
            this.filePath  = filePath;
            this.options   = options;

            if (this.options == null)
            {
                this.options = new DownloadOptions();
            }
        }
Esempio n. 20
0
        internal BaseUploadCommand(ArchiveTransferManager manager, string vaultName, string archiveDescription, string filePath, UploadOptions options)
        {
            this.manager            = manager;
            this.vaultName          = vaultName;
            this.archiveDescription = archiveDescription;
            this.filePath           = filePath;
            this.options            = options;

            if (this.options == null)
            {
                this.options = new UploadOptions();
            }
        }
Esempio n. 21
0
        public void UploadGlacier()
        {
            var vaultName = "test";
            var archive   = @"C:\Users\Rob\source\repos\Backup\archive\archive_2017-11-24_122504.zip";
            var andrew    = "";
            var secret    = "";

            var manager = new ArchiveTransferManager(andrew, secret, RegionEndpoint.USEast1);

            // Upload an archive.
            string archiveId = manager.Upload(vaultName, "getting started archive test", archive).ArchiveId;

            Debug.WriteLine($"Archive ID: {archiveId}");
        }
Esempio n. 22
0
        public static void DownloadArchive(string vaultName, string archiveId, string outputPath, Amazon.RegionEndpoint awsRegion)
        {
            Logger.LogMessage($"Downloading archive '{archiveId}' from {vaultName}...");
            using (var manager = new ArchiveTransferManager(awsRegion))
            {
                var downloadOptions = new DownloadOptions()
                {
                    PollingInterval = 1.0
                };
                downloadOptions.StreamTransferProgress += OnTransferProgress;

                manager.Download(vaultName, archiveId, outputPath, downloadOptions);
            }
        }
Esempio n. 23
0
        public AWSArchiveResult UploadFile(String filePath, String nativeChecksum, String archiveDescription)
        {
            using (manager = new ArchiveTransferManager(RegionEndpoint.USEast1))
            {
                if (CheckRequiredFields())
                {
                    try
                    {
                        Form1.log.Info("Upload a Archive");

                        var uploadResult = manager.Upload(vaultName, archiveDescription, filePath);

                        archiveId = uploadResult.ArchiveId;

                        Form1.log.Info("Upload successful. Archive Id : " + uploadResult.ArchiveId + "Checksum : " + uploadResult.Checksum);

                        var config = new AmazonDynamoDBConfig();
                        config.ServiceURL = "http://dynamodb.us-east-1.amazonaws.com";

                        client = new AmazonDynamoDBClient(config);
                        Table dynamoTable = Table.LoadTable(client, "FL6119");

                        var entry = new Document();
                        entry["FileID"]         = uploadResult.ArchiveId;
                        entry["date"]           = System.DateTime.Now;
                        entry["checksum"]       = uploadResult.Checksum;
                        entry["archiveID"]      = filePath;
                        entry["NAtiveChecksum"] = nativeChecksum;

                        dynamoTable.PutItem(entry);

                        AWSArchiveResult ar = new AWSArchiveResult();
                        ar.ArchiveID = uploadResult.ArchiveId;
                        ar.Checksum  = uploadResult.Checksum;

                        return(ar);
                    }
                    catch (AmazonGlacierException e)
                    {
                        Form1.log.Error(e.ToString());
                    }
                    catch (AmazonServiceException e)
                    {
                        Form1.log.Error(e.ToString());
                    }
                }
                return(new AWSArchiveResult());
            }
        }
Esempio n. 24
0
        static async void MainAsync(string[] args)
        {
            if (CheckRequiredFields())
            {
                var glacierClient = new AmazonGlacierClient();
                using (manager = new ArchiveTransferManager(glacierClient))
                {
                    try
                    {
                        // Creates a new Vault
                        Console.WriteLine("Create Vault");
                        await manager.CreateVaultAsync(vaultName);

                        // Uploads the specified file to Glacier.
                        Console.WriteLine("Upload a Archive");
                        var uploadResult = await manager.UploadAsync(vaultName, "Archive Description", filePath);

                        archiveId = uploadResult.ArchiveId;
                        Console.WriteLine("Upload successful. Archive Id : {0}  Checksum : {1}",
                                          uploadResult.ArchiveId, uploadResult.Checksum);


                        // Downloads the file from Glacier
                        // This operation can take a long time to complete.
                        // The ArchiveTransferManager.Download() method creates an Amazon SNS topic,
                        // and an Amazon SQS queue that is subscribed to that topic.
                        // It then initiates the archive retrieval job and polls the queue for the
                        // archive to be available. This polling takes about 4 hours.
                        // Once the archive is available, download will begin.
                        Console.WriteLine("Download the Archive");
                        var options = new DownloadOptions();
                        options.StreamTransferProgress += OnProgress;
                        await manager.DownloadAsync(vaultName, archiveId, downloadFilePath, options);

                        Console.WriteLine("Delete the Archive");
                        await manager.DeleteArchiveAsync(vaultName, archiveId);
                    }
                    catch (AmazonGlacierException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    catch (AmazonServiceException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
            }
        }
Esempio n. 25
0
        public static void createVault(string vaultName)
        {
            try
            {
                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
                manager.CreateVault(vaultName);

                //manager.DeleteVault(vaultName);
                //Console.WriteLine("\nVault deleted. To continue, press Enter");
            }
            catch (AmazonGlacierException e)
            { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e)
            { Console.WriteLine(e.Message); }
            catch (Exception e)
            { Console.WriteLine(e.Message); }
        }
Esempio n. 26
0
 public GlacierVault(FileInfo manifest, string name)
 {
     #region Validation
     if (manifest is null)
     {
         throw new ArgumentNullException(nameof(manifest));
     }
     if (String.IsNullOrWhiteSpace(name))
     {
         throw new ArgumentNullException(nameof(name));
     }
     #endregion
     Manifest = manifest;
     _manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
     _name    = name;
     Load();
 }
Esempio n. 27
0
 static void Main(string[] args)
 {
     try
     {
         var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
         // Upload an archive.
         string archiveId = manager.Upload(vaultName, "upload archive test", archiveToUpload).ArchiveId;
         Console.WriteLine("Archive ID: (Copy and save this ID for use in other examples.) : {0}", archiveId);
         Console.WriteLine("To continue, press Enter");
         Console.ReadKey();
     }
     catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
     catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
     catch (Exception e) { Console.WriteLine(e.Message); }
     Console.WriteLine("To continue, press Enter");
     Console.ReadKey();
 }
Esempio n. 28
0
 public static void Main(string[] args)
 {
     try
     {
         var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
         // Upload an archive.
         string archiveId = manager.Upload(vaultName, "getting started archive test", archiveToUpload).ArchiveId;
         Console.WriteLine("Copy and save the following Archive ID for the next step.");
         Console.WriteLine("Archive ID: {0}", archiveId);
         Console.WriteLine("To continue, press Enter");
         Console.ReadKey();
     }
     catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
     catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
     catch (Exception e) { Console.WriteLine(e.Message); }
     Console.WriteLine("To continue, press Enter");
     Console.ReadKey();
 }
Esempio n. 29
0
        internal DownloadFileCommand(ArchiveTransferManager manager, string vaultName, string archiveId, string filePath, DownloadOptions options)
        {
            this.manager = manager;
            this.vaultName = vaultName;
            this.archiveId = archiveId;
            this.filePath = filePath;
            this.options = options;

            var glacierClient = this.manager.GlacierClient as AmazonGlacierClient;
            if (glacierClient == null)
                throw new InvalidOperationException("This can only be called using an AmazonGlacierClient");

            this.snsClient = ServiceClientHelpers.CreateServiceFromAnother<AmazonSimpleNotificationServiceClient, AmazonSimpleNotificationServiceConfig>(glacierClient);
            this.sqsClient = ServiceClientHelpers.CreateServiceFromAnother<AmazonSQSClient, AmazonSQSConfig>(glacierClient);

            if (this.options == null)
                this.options = new DownloadOptions();
        }
Esempio n. 30
0
        /*
         * this appends a filename and file key pair to location specified in 'CopyArchiveKeys'
         */
        public void runUpload()
        {
            CopyArchiveKeys cak = new CopyArchiveKeys(@"C:\Code\VisualStudio\Projects\AwsBackup2\KeyCopy\");

            try{
                var    manager   = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
                string archiveID = manager.Upload(vaultName, "getting started test", archiveToUpload).ArchiveId;
                Console.WriteLine("Archive ID (copy and save for next step): {0}", archiveID);
                cak.copyThis(archiveToUpload + " " + "-" + " " + archiveID);
                //cak.copyThis("test");
                //Console.ReadKey();
            }
            catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
            catch (Exception e) { Console.WriteLine(e.Message); }
            Console.WriteLine("To continue, press Enter");
            Console.ReadKey();
        }
        internal DownloadFileCommand(ArchiveTransferManager manager, string vaultName, string archiveId, string filePath, DownloadOptions options)
        {
            this.manager = manager;
            this.vaultName = vaultName;
            this.archiveId = archiveId;
            this.filePath = filePath;
            this.options = options;

            var credentials = ((AmazonGlacierClient)this.manager.GlacierClient).Credentials;
            var regionName = Util.AWSSDKUtils.DetermineRegion(((AmazonGlacierClient)this.manager.GlacierClient).ServiceURL);
            RegionEndpoint region = RegionEndpoint.GetBySystemName(regionName);

            this.snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);
            this.sqsClient = new AmazonSQSClient(credentials, region);

            if (this.options == null)
                this.options = new DownloadOptions();
        }
Esempio n. 32
0
        public static async Task Main()
        {
            try
            {
                var manager = new ArchiveTransferManager(RegionEndpoint.USWest2);

                // Upload an archive.
                var response = await manager.UploadAsync(VaultName, "upload archive test", ArchiveToUpload);

                Console.WriteLine("Copy and save the ID for use in other examples.");
                Console.WriteLine($"Archive ID: {response.ArchiveId}");
                Console.WriteLine("To continue, press Enter");
                Console.ReadKey();
            }
            catch (AmazonGlacierException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Esempio n. 33
0
        internal DownloadFileCommand(ArchiveTransferManager manager, string vaultName, string archiveId, string filePath, DownloadOptions options)
        {
            this.manager = manager;
            this.vaultName = vaultName;
            this.archiveId = archiveId;
            this.filePath = filePath;
            this.options = options;

            var credentials = ((AmazonGlacierClient)this.manager.GlacierClient).GetCredentials();
            var glacierClient = this.manager.GlacierClient as AmazonGlacierClient;
            if (glacierClient == null)
                throw new InvalidOperationException("This can only be called using an AmazonGlacierClient");

            this.snsClient = new AmazonSimpleNotificationServiceClient(credentials, glacierClient.CloneConfig<AmazonSimpleNotificationServiceConfig>());
            this.sqsClient = new AmazonSQSClient(credentials, glacierClient.CloneConfig<AmazonSQSConfig>());

            if (this.options == null)
                this.options = new DownloadOptions();
        }
Esempio n. 34
0
        public static async Task DeleteArchiveAsync(string vaultName)
        {
            JObject archiveList = JObject.Parse(File.ReadAllText(@"archiveList.json"));

            try
            {
                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.APSoutheast2);

                foreach (var archiveId in archiveList["ArchiveList"])
                {
                    await manager.DeleteArchiveAsync(vaultName, archiveId["ArchiveId"].ToString());

                    Console.WriteLine(archiveId["ArchiveId"]);
                }
            }
            catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
            catch (Exception e) { Console.WriteLine(e.Message); }
        }
Esempio n. 35
0
        internal DownloadFileCommand(ArchiveTransferManager manager, string vaultName, string archiveId, string filePath, DownloadOptions options)
        {
            this.manager   = manager;
            this.vaultName = vaultName;
            this.archiveId = archiveId;
            this.filePath  = filePath;
            this.options   = options;

            var            credentials = ((AmazonGlacierClient)this.manager.GlacierClient).Credentials;
            var            regionName  = Util.AWSSDKUtils.DetermineRegion(((AmazonGlacierClient)this.manager.GlacierClient).ServiceURL);
            RegionEndpoint region      = RegionEndpoint.GetBySystemName(regionName);

            this.snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);
            this.sqsClient = new AmazonSQSClient(credentials, region);

            if (this.options == null)
            {
                this.options = new DownloadOptions();
            }
        }
Esempio n. 36
0
 internal SinglepartUploadCommand(ArchiveTransferManager mananger, string vaultName, string archiveDescription, string filePath, UploadOptions options)
     : base(mananger, vaultName, archiveDescription, filePath, options)
 {
 }