AWS SDK for Java을 사용하여 Amazon S3 Glacier에서 볼트 메타데이터 검색 - 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 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 다중 암호화 옵션을 포함한 보안 기능 등과 같은 기능을 제공합니다.

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

AWS SDK for Java을 사용하여 Amazon S3 Glacier에서 볼트 메타데이터 검색

볼트 메타데이터 가져오기

특정 AWS 리전에 속하는 특정 볼트 또는 모든 볼트의 메타데이터를 검색할 수 있습니다. 다음은 Java용 Amazon SDK의 로우레벨 API를 사용해 특정 볼트용 볼트 메타데이터를 검색하는 단계입니다.

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

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

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

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

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

    S3 Glacier가 반환하는 볼트 메타데이터 정보는 DescribeVaultResult 객체에서 사용할 수 있습니다.

다음은 위에서 설명한 단계를 나타내는 Java 코드 조각입니다.

DescribeVaultRequest request = new DescribeVaultRequest() .withVaultName("*** provide vault name***"); DescribeVaultResult result = client.describeVault(request); System.out.print( "\nCreationDate: " + result.getCreationDate() + "\nLastInventoryDate: " + result.getLastInventoryDate() + "\nNumberOfArchives: " + result.getNumberOfArchives() + "\nSizeInBytes: " + result.getSizeInBytes() + "\nVaultARN: " + result.getVaultARN() + "\nVaultName: " + result.getVaultName());

참고

기본 REST API에 대한 자세한 내용은 볼트 설명(GET vault) 단원을 참조하십시오.

리전에 속하는 모든 볼트의 메타데이터 가져오기

listVaults 방법을 사용하여 특정 AWS 리전에 속하는 모든 볼트의 메타데이터를 검색할 수 있습니다.

다음은 us-west-2 리전에 속하는 볼트 목록을 가져오는 Java 코드 조각입니다. 요청에 따라 응답으로 반환되는 볼트 수는 5개로 제한됩니다. 코드 조각은 연속으로 listVaults를 직접 호출하여 AWS 리전의 볼트 목록을 모두 검색합니다.

AmazonGlacierClient client; client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); String marker = null; do { ListVaultsRequest request = new ListVaultsRequest() .withLimit("5") .withMarker(marker); ListVaultsResult listVaultsResult = client.listVaults(request); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); marker = listVaultsResult.getMarker(); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } while (marker != null);

위의 코드 조각에서 요청 시에 Limit값을 지정하지 않으면 S3 Glacier가 S3 Glacier API의 설정에 따라 최대 10개까지 볼트를 반환합니다. 목록을 조회할 볼트가 더 있는 경우에는 응답 본문의 marker 필드에 새로운 요청과 함께 목록이 계속되는 지점에 볼트의 Amazon 리소스 이름(ARN)이 추가됩니다. 그렇지 않으면 marker 필드는 null 값을 갖습니다.

참고로 목록의 각 볼트마다 반환되는 정보는 특정 볼트에서 describeVault 메서드를 호출하여 가져오는 정보와 동일합니다.

참고

listVaults 메서드는 기본 REST API를 호출합니다(볼트 목록 조회(GET vaults) 참조).

예: Java용 Amazon SDK를 사용하는 볼트 메타데이터 검색

유효 코드 예제를 보려면 예제: AWS SDK for Java를 사용하여 볼트 생성 단원을 참조하십시오. Java 코드 예제는 볼트를 생성한 후 볼트 메타데이터를 가져옵니다.