Amazon S3 Glacier와 함께 AWS SDK for .NET 사용 - Amazon S3 Glacier

이 페이지는 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 스토리지 클래스 S3 Glacier 스토리지 클래스를 사용하는 장기 데이터 스토리지를 참조하세요. Amazon S3 이러한 스토리지 클래스는 Amazon S3 를 사용하며API, 모든 리전에서 사용할 수 있고, Amazon S3 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 고급 선택적 암호화 기능 등과 같은 기능을 제공합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon S3 Glacier와 함께 AWS SDK for .NET 사용

AWSSDK.dll에서 AWS SDK for .NETAPI를 사용할 수 있습니다. AWS SDK for .NET 다운로드에 대한 자세한 내용은 샘플 코드 및 라이브러리를 참조하십시오. Amazon S3 AWS 글레이셔와 함께 SDK 사용에서 설명한 것과 같이 AWS SDK for .NET은 고레벨 API와 저레벨 API를 모두 제공합니다.

참고

로우레벨 API와 하이레벨 API는 S3 Glacier에 액세스할 수 있도록 스레드 세이프 클라이언트를 제공합니다. 모범 사례로서 애플리케이션에서 클라이언트 하나를 생성한 후 스레드 간에 재사용해야 합니다.

저레벨 API 사용

로우레벨 AmazonGlacierClient 클래스는 Amazon S3 Glacier(S3 Glacier)의 기본 REST 작업을 매핑하는 데 필요한 모든 방법을 제공합니다(Amazon S3 Glacier를 위한 API 참조). 이러한 방법을 직접 호출할 때는 먼저 해당하는 요청 객체를 생성한 후 방법에서 작업에 대한 S3 Glacier의 응답을 반환할 수 있도록 응답 객체를 입력해야 합니다.

예를 들어 AmazonGlacierClient 클래스는 볼트를 생성할 수 있는 CreateVault 메서드를 제공합니다. 이 메서드는 기본적인 볼트 생성 REST 작업에 매핑됩니다(볼트 만들기(PUT 값) 참조). 이 방법을 사용하기 위해서는 먼저 다음 C# 코드 조각과 같이 CreateVaultRequestCreateVaultResponse 클래스 인스턴스를 생성하여 요청 정보를 제공하고 S3 Glacier 응답을 수신해야 합니다.

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

이번 안내서에서 언급하는 저레벨 샘플은 모두 이러한 패턴을 사용합니다.

참고

요청을 생성할 때는 선행하는 코드 세그먼트에 따라 AccountId가 지정됩니다. 하지만 AWS SDK for .NET을 사용할 때는 요청 생성 시 AccountId가 옵션이기 때문에 이번 안내서의 저레벨 예제에서는 모두 이 값을 설정하지 않습니다. AccountId는 AWS 계정 ID입니다. 이 값은 요청 서명에 사용된 보안 인증 정보와 연결된 AWS 계정 ID와 반드시 일치해야 합니다. AWS 계정 ID 또는 선택적으로 하나의 하이픈('-')을 지정할 수 있습니다. 이 경우에는 S3 Glacier가 요청 서명에 사용된 보안 인증 정보와 연결된 AWS 계정 ID를 사용합니다. 계정 ID를 지정하는 경우에는 ID에 하이픈('-')을 추가하지 않습니다. AWS SDK for .NET을 사용하면서 계정 ID를 입력하지 않으면 라이브러리가 계정 ID를 '-'으로 설정합니다.

고레벨 API 사용

AWS SDK for .NET은 애플리케이션 배포를 더욱 간소화할 목적으로 저레벨 API의 일부 메서드에 고레벨 추상화를 구현할 수 있는 ArchiveTransferManager 클래스를 제공합니다. 그 밖에 Upload, Download 등 아카이브 작업에 유용한 메서드도 있습니다.

예를 들어 다음 C# 코드 조각은 고레벨 메서드인 Upload를 사용하여 아카이브를 업로드합니다.

string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

단, 실행하는 모든 작업은 ArchiveTransferManager 객체를 생성할 때 지정한 AWS 리전에 적용됩니다. 이번 안내서에서 언급하는 고레벨 예제는 모두 이러한 패턴을 사용합니다.

참고

고레벨 ArchiveTransferManager 클래스는 여전히 저레벨 AmazonGlacierClient 클라이언트가 필요하기 때문에 사용자가 명시적으로 전달할 수도 있지만, 그렇지 않으면 ArchiveTransferManager 클래스가 클라이언트를 생성합니다.

코드 예제 실행

.NET 코드 예제를 시작하는 가장 쉬운 방법은 AWS SDK for .NET를 설치하는 것입니다. 자세한 내용은 .NET용 Amazon SDK를 참조하세요.

다음은 이번 안내서에서 제공되는 코드 예제의 테스트 단계를 간략히 나타낸 절차입니다.

1

Amazon SDK의 .NET 토픽 AWS 보안 인증 정보 구성에 설명된대로 사용자의 AWS 보안 인증 정보용 보안 인증 정보 프로필을 생성합니다.

2

AWS 빈 프로젝트 템플릿을 사용하여 새 Visual Studio 프로젝트를 만듭니다.

3

프로젝트 파일 Program.cs의 코드를 읽고 있는 섹션의 코드로 대체합니다.

4

코드를 실행합니다. AWS Management Console을 사용하여 객체가 생성되었는지 확인합니다. AWS Management Console에 대한 자세한 내용은 https://aws.amazon.com/console/을 참조하세요.

엔드포인트 설정

기본적으로 AWS SDK for .NET은 엔드포인트를 미국 서부(오레곤) 리전(https://glacier.us-west-2.amazonaws.com)으로 설정합니다. 다음 C# 코드 조각과 같이 엔드포인트를 다른 AWS 리전으로 설정하는 방법도 있습니다.

다음은 로우레벨 API에서 엔드포인트를 미국 서부(오레곤) 리전(us-west-2)으로 설정하는 방법을 나타낸 코드 조각입니다.

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

다음은 하이레벨 API에서 엔드포인트를 미국 서부(오레곤) 리전으로 설정하는 방법을 나타낸 코드 조각입니다.

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

현재 지원되는 AWS 리전 및 엔드포인트 목록은 Amazon S3 Glacier 액세스을 참조하세요.