Amazon S3 Glacier에서 AWS SDK for .NET을 사용하여 볼트 생성 - Amazon S3 Glacier

이 페이지는 저장소와 2012년부터 출시된 원본 REST API를 사용하는 S3 Glacier 서비스의 기존 고객만 이용할 수 있습니다.

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3의 S3 Glacier 스토리지 클래스, S3 Glacier 인스턴트 검색, S3 Glacier 플렉서블 검색 S3 Glacier Deep Archive를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스S3 Glacier 스토리지 클래스를 사용한 장기 데이터 스토리지를 참조하십시오. 이러한 스토리지 클래스는 Amazon S3 API를 사용하며, 모든 지역에서 사용할 수 있으며, Amazon S3 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 다중 암호화 옵션을 포함한 보안 기능 등과 같은 기능을 제공합니다.

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

Amazon S3 Glacier에서 AWS SDK for .NET을 사용하여 볼트 생성

Amazon SDK에서 .NET용으로 제공하는 하이레벨 및 로우레벨 API는 모두 볼트를 생성하는 방법을 제공합니다.

AWS SDK for .NET의 고레벨 API를 사용하는 볼트 생성

하이레벨 API의 ArchiveTransferManager 클래스는 AWS 리전에 볼트를 생성하는 데 사용할 수 있는 CreateVault 방법을 제공합니다.

예제: AWS SDK for .NET의 고레벨 API를 사용하는 볼트 작업

다음의 C# 코드 예시는 미국 서부(오레곤)에서 볼트를 생성 및 삭제합니다. 볼트를 생성할 수 있는 AWS 리전 목록은 Amazon S3 Glacier 액세스을 참조하세요.

다음 예제의 실행을 위한 단계별 지침은 코드 예제 실행 단원을 참조하십시오. 아래와 같이 볼트 이름을 사용해 코드를 업데이트해야 합니다.

using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDeleteHighLevel { static string vaultName = "*** Provide vault name ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); manager.CreateVault(vaultName); Console.WriteLine("Vault created. To delete the vault, press Enter"); Console.ReadKey(); manager.DeleteVault(vaultName); Console.WriteLine("\nVault deleted. 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(); } } }

AWS SDK for .NET의 저레벨 API를 사용하는 볼트 생성

로우레벨 API는 볼트를 생성 및 삭제하거나, 볼트 설명을 가져오거나, 특정 AWS 리전에 생성된 볼트 목록을 가져오는 등 모든 볼트 작업에 사용할 수 있는 방법을 제공합니다. 다음은 AWS SDK for .NET을 사용하여 볼트를 생성하는 단계입니다.

  1. AmazonGlacierClient 클래스(클라이언트)의 인스턴스를 만듭니다.

    볼트 생성을 원하는 AWS 리전을 지정합니다. 이 클라이언트를 사용하여 실행하는 모든 작업이 해당 AWS 리전에 적용됩니다.

  2. CreateVaultRequest 클래스 인스턴스를 생성하여 요청 정보를 입력합니다.

    Amazon S3 Glacier(S3 Glacier)는 볼트 이름과 계정 ID를 요구합니다. 계정 ID를 입력하지 않는 경우에는 요청 서명을 위해 입력하는 자격 증명과 연결되어 있는 계정 ID로 간주합니다. 자세한 내용은 Amazon S3 Glacier와 함께 AWS SDK for .NET 사용 섹션을 참조하세요.

  3. 요청 객체를 파라미터로 입력하여 CreateVault 메서드를 실행합니다.

    S3 Glacier가 반환하는 응답은 CreateVaultResponse 객체에서 사용할 수 있습니다.

예제: AWS SDK for .NET의 저레벨 API를 사용하는 볼트 작업

다음은 앞선 단계를 설명하는 C# 예제입니다. 이 예시는 미국 서부(오레곤)에 볼트를 생성합니다. 또한 이 코드 예시는 볼트 정보를 검색하거나, 동일한 AWS 리전에 속하는 모든 볼트를 나열하거나, 생성된 볼트를 삭제하기도 합니다. 출력된 Location은 계정 ID와 AWS 리전, 볼트 이름이 포함된 볼트의 상대적 URI입니다.

참고

기본 REST API에 대한 자세한 내용은 볼트 만들기(PUT 값) 단원을 참조하십시오.

다음 예제의 실행을 위한 단계별 지침은 코드 예제 실행 단원을 참조하십시오. 아래와 같이 볼트 이름을 사용해 코드를 업데이트해야 합니다.

using System; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDelete { static string vaultName = "*** Provide vault name ***"; static AmazonGlacierClient client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Creating a vault."); CreateAVault(); DescribeVault(); GetVaultsList(); Console.WriteLine("\nVault created. Now press Enter to delete the vault..."); Console.ReadKey(); DeleteVault(); } } 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 void CreateAVault() { CreateVaultRequest request = new CreateVaultRequest() { VaultName = vaultName }; CreateVaultResponse response = client.CreateVault(request); Console.WriteLine("Vault created: {0}\n", response.Location); } static void DescribeVault() { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = vaultName }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate ); } static void GetVaultsList() { string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null); } static void DeleteVault() { DeleteVaultRequest request = new DeleteVaultRequest() { VaultName = vaultName }; DeleteVaultResponse response = client.DeleteVault(request); } } }