Как найти идентификатор архива на леднике AWS S3? - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь получить папку zip из хранилища S3 Glacier.Почтовый индекс, который я хочу в имени корзины> резервные копии> 11-1-2018> только один файл живет здесь master.meta.Таким образом, zip-папки были заархивированы.

Ниже приведен код, который я использую для доступа и получения zip-файла, который я хочу.Когда я запускаю его, он срабатывает правильно, но я продолжаю получать это сообщение "Идентификатор архива не найден:" Я искал безрезультатно, как получить этот скрытый идентификатор архива ...

    static string vaultName = "XXXXX";
    static string archiveId = "????????????????????";

    static string downloadFilePath = "D:";
    public static void Main(string[] args)
    {

        AWSCredentials credentials = new BasicAWSCredentials("", "");
        AmazonS3Config config = new AmazonS3Config();
        config.ServiceURL = "XXXXX.s3.amazonaws.com";
        config.RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName("us-west-2");
        IAmazonS3 s3Client = new AmazonS3Client(credentials, config);
        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("Once the archive is available, downloading will begin.");
            manager.Download(vaultName, archiveId, downloadFilePath, 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();
    }
    static int currentPercentage = -1;
    static void progress(object sender, StreamTransferProgressArgs args)
    {
        if (args.PercentDone != currentPercentage)
        {
            currentPercentage = args.PercentDone;
            Console.WriteLine("Downloaded {0}%", args.PercentDone);
        }
    }

Яв потере того, как найти / получить идентификатор архива.Внутри индексного файла master.meta я использовал следующие идентификаторы в надежде, что это был идентификатор архива.

 "zipiwanttorestore" : {
         "gid" : "THIS ID DID NOT WORK", -- was a 3 digit id
         "backup_type" : 1,
         "archive_version" : 4,
         "user" : "zipiwanttodownload",
         "pkgacct_version" : 10,
         "uid" : "THIS ID DID NOT WORK"
      },



  "metadata_version" : "3.1",
   "backup" : {
      "backup_id" : "THIS ID DID NOT WORK", 
      "backup_type" : 1,
      "Date" : {
         "Hour" : 0,
         "Minute" : 0,
         "Year" : 2018,
         "Second" : 0,
         "Day" : 1,
         "Month" : 11
      },

Любая помощь будет спасением жизни.Спасибо.

...