이 페이지는 Vaults와 2012RESTAPI년의 원본을 사용하는 S3 Glacier 서비스의 기존 고객만 사용할 수 있습니다.
아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3, S3 Glacier Instant Retrieval , S33 S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 의 S3 Glacier 스토리지 클래스를 사용하는 것이 좋습니다. Amazon S3 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK for .NET을 사용하는 S3 Glacier 볼트의 아카이브 다운로드
다음은 AWS SDK for .NET의 하이레벨 API를 사용하여 이전에 AWS SDK for .NET을 사용하여 아카이브의 S3 Glacier 볼트 업로드에서 업로드한 아카이브를 다운로드하는 C# 코드 예시입니다. 코드 예제에서 다음 사항에 유의하십시오.
-
이 예시는 지정된 Amazon S3 Glacier 리전 엔드포인트에
ArchiveTransferManager
클래스 인스턴스를 생성합니다. -
이 코드 예시는 미국 서부(오레곤) 리전(
us-west-2
)을 사용하여 이전에 2단계: S3 Glacier에서 볼트 생성에서 볼트를 생성한 위치와 일치하도록 합니다. -
이 예시에서는
ArchiveTransferManager
클래스의Download
API 작업을 사용하여 사용자의 아카이브를 다운로드합니다. 이 예시에서는 Amazon Simple Notification Service(SNS) 토픽 및 해당 토픽을 구독하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 1단계: S3 Glacier를 시작하기 전에의 지시에 따라 AWS Identity and Access Management(IAM) 관리자를 만들었다면 해당 사용자는 Amazon SNS 토픽 및 Amazon SQS 대기열을 만들고 사용하는 데 필요한 IAM 권한을 가지게 됩니다. -
이제 이 예제에서는 아카이브 가져오기 작업을 시작하고, 그 아카이브 대기열을 사용할 수 있도록 폴링합니다. 아카이브를 사용할 수 있게 되면 다운로드가 시작됩니다. 검색 시간에 대한 자세한 내용은 아카이브 검색 옵션 단원을 참조하십시오.
이 예제의 실행 방법에 대한 단계별 지침은 코드 예제 실행 단원을 참조하십시오. 반드시 3단계: 아카이브를 S3 Glacier 볼트에 업로드에서 업로드한 파일의 아카이브 ID를 사용하여 아래와 같이 코드를 업데이트해야 합니다.
예 : AWS SDK for .NET의 하이레벨 API를 사용하여 아카이브 다운로드
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.docsamples { class ArchiveDownloadHighLevel_GettingStarted { static string vaultName = "examplevault"; static string archiveId = "*** Provide archive ID ***"; static string downloadFilePath = "*** Provide the file name and path to where to store the download ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); var options = new DownloadOptions(); options.StreamTransferProgress += ArchiveDownloadHighLevel_GettingStarted.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); } } } }