Ошибка ссылки на объект загрузки AWS Glacier - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть код, подобный приведенному ниже, для загрузки RAR-файла в Glacier.Я не знаю, чего мне не хватает, может кто-нибудь опубликовать пример кода для загрузки архива в AWS Glcier

private static ArchiveTransferManager manager;        
    private static int percentComplete;
    static string vaultName = "GlacierTest";
    static string archiveToUpload = @"vwTrunkIdentifierList.rar";
    static void Main(string[] args)
    {
        try
        {   
            using (manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1))
            {
                UploadArchive(archiveToUpload);
            }
        }
        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.ReadLine();
    }

    private static void UploadArchive(string archiveToUpload)
    {
        percentComplete = 0;
        var uploadOptions = new UploadOptions();
        uploadOptions.StreamTransferProgress += new EventHandler<StreamTransferProgressArgs>(onStreamTransferProgress);
        var archive= manager.Upload(vaultName, "archive description", archiveToUpload);
        //var archive = manager.Upload(vaultName, "archive description", archiveToUpload, uploadOptions);

        //never gets here
        Console.WriteLine("ArchiveId: {0}, CheckSum: {1}", archive.ArchiveId, archive.Checksum);
    }

    private static void onStreamTransferProgress(object sender, StreamTransferProgressArgs args)
    {
        Console.WriteLine("Progress: {0} / {1} ({2}%)", args.TransferredBytes, args.TotalBytes, args.PercentDone);
        percentComplete = args.PercentDone;
    }
...