AWS SDK for Javaを使用して Amazon Glacier でアーカイブを削除する - Amazon Glacier

このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。

アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon Glacier ストレージクラス」を参照してください。

Amazon Glacier (元のスタンドアロンのボールトベースのサービス) は、2025 年 12 月 15 日以降、新規のお客様を受け入れなくなります。既存のお客様に影響はありません。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージをお探しの場合、AWS は Amazon S3 Glacier ストレージクラスを推奨します。このストレージクラスは、コストを抑えながら、S3 バケットベースの API、AWS リージョン全体での可用性、AWS サービス統合により、優れたカスタマーエクスペリエンスを提供します。拡張機能が必要な場合は、Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するための AWS ソリューションガイダンスを使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

AWS SDK for Javaを使用して Amazon Glacier でアーカイブを削除する

以下では、AWS SDK for Java の低レベル API を使用してアーカイブを削除する手順を示します。

  1. AmazonGlacierClient クラスのインスタンス(クライアント)を作成します。

    削除するアーカイブが格納されている AWS リージョンを指定する必要があります。このクライアントを使用して実行するすべてのオペレーションは、そのAWSリージョンに適用されます。

  2. DeleteArchiveRequest クラスのインスタンスを作成することにより、リクエスト情報を指定します。

    アーカイブ ID、ボールト名、およびアカウント ID を指定する必要があります。アカウント ID を指定しなかった場合は、リクエストに署名する際に指定した認証情報に関連づけられているアカウント ID が使用されます。詳細については、「Amazon Glacier でのAWS SDK for Java の使用」を参照してください。

  3. リクエストオブジェクトをパラメータとして指定して、deleteArchive メソッドを実行します。

以下の Java コードスニペットは、前述の手順を示しています。

AmazonGlacierClient client; DeleteArchiveRequest request = new DeleteArchiveRequest() .withVaultName("*** provide a vault name ***") .withArchiveId("*** provide an archive ID ***"); client.deleteArchive(request);

注記

基本となる REST API については、「アーカイブの削除 (DELETE archive)」を参照してください。

例: AWS SDK for Java を使用したアーカイブの削除

以下の Java コード例では、AWS SDK for Java を使用してアーカイブを削除しています。この例を実行するための詳しい手順については、「Eclipse を使用した Amazon Glacier の Java 実行例」を参照してください。ここに示したコードは、ボールトの名前と、削除するアーカイブのアーカイブ ID で更新する必要があります。

import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.DeleteArchiveRequest; public class ArchiveDelete { public static String vaultName = "*** provide vault name ****"; public static String archiveId = "*** provide archive ID***"; public static AmazonGlacierClient client; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); try { // Delete the archive. client.deleteArchive(new DeleteArchiveRequest() .withVaultName(vaultName) .withArchiveId(archiveId)); System.out.println("Deleted archive successfully."); } catch (Exception e) { System.err.println("Archive not deleted."); System.err.println(e); } } }