

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

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

Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、新規顧客を受け入れなくなりました。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は [Amazon S3 Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/) AWS を推奨します。これにより、S3 バケットベースの APIs、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。 AWS リージョン 拡張機能が必要な場合は、[Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのAWS ソリューションガイダンス](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)を使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Glacier でのアーカイブの削除
<a name="deleting-an-archive"></a>

Amazon Glacier (Amazon Glacier) 管理コンソールを使用してアーカイブを削除することはできません。アーカイブを削除するには、 AWS Command Line Interface (CLI) を使用するか、コードを記述して、REST API を直接使用するか、 AWS SDK for Java および .NET ラッパーライブラリを使用して削除リクエストを行う必要があります。以下のトピックでは、 AWS SDK for Java および .NET ラッパーライブラリ、REST API、および を使用する方法について説明します AWS CLI。

**Topics**
+ [AWS SDK for Javaを使用して Amazon Glacier でアーカイブを削除する](deleting-an-archive-using-java.md)
+ [を使用した Amazon Glacier でのアーカイブの削除 AWS SDK for .NET](deleting-an-archive-using-dot-net.md)
+ [REST API を使用した Amazon Glacier アーカイブの削除](deleting-an-archive-using-rest.md)
+ [を使用した Amazon Glacier でのアーカイブの削除 AWS Command Line Interface](deleting-an-archive-using-cli.md)

ボールトから削除できるアーカイブは一度に 1 つです。アーカイブを削除するには、削除リクエストにアーカイブ ID を指定する必要があります。アーカイブ ID は、そのアーカイブを含むボールトのボールトインベントリをダウンロードすることで取得できます。ボールトインベントリのダウンロードの詳細については、「[Amazon Glacier でボールトインベントリをダウンロードする](vault-inventory.md)」を参照してください。

アーカイブを削除した後でも、削除したアーカイブの取得ジョブを開始することはリクエストできますが、アーカイブの取得ジョブ自体は失敗します。

アーカイブを削除する際に、該当するアーカイブ ID のアーカイブが取得中であった場合、取得は以下のシナリオに応じて成功する場合と成功しない場合があります。

 
+ Amazon Glacier がアーカイブの削除リクエストを受け取ったときに、アーカイブの取得ジョブがダウンロード用のデータを準備している最中であった場合には、アーカイブの取得オペレーションが失敗することがあります。
+ Amazon Glacier がアーカイブの削除リクエストを受け取ったときに、アーカイブの取得ジョブがダウンロード対象のアーカイブの準備を完了していた場合には、出力をダウンロードできます。

アーカイブの取得に関する詳細については、「[Amazon Glacier でのアーカイブのダウンロード](downloading-an-archive.md)」を参照してください。

このオペレーションはべき等です。既に削除されたアーカイブを削除しようとした場合には、エラーは発生しません。

アーカイブの削除後、すぐにボールトインベントリをダウンロードした場合、リストに削除したアーカイブが含まれることがあります。Amazon Glacier がボールトインベントリを更新するのは、約 1 日 1 回であるためです。

**注記**  
ボールトアーカイブの自動削除については、「[Amazon S3 Glacier でのボールトアーカイブの自動削除](https://aws.amazon.com/solutions/guidance/automated-deletion-of-vault-archives-in-amazon-s3-glacier/)」を参照してください。

# AWS SDK for Javaを使用して Amazon Glacier でアーカイブを削除する
<a name="deleting-an-archive-using-java"></a>

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

 

1. `AmazonGlacierClient` クラスのインスタンス（クライアント）を作成します。

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

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

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

1. リクエストオブジェクトをパラメータとして指定して、`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)](api-archive-delete.md)」を参照してください。

## 例: AWS SDK for Java を使用したアーカイブの削除
<a name="deleting-an-archive-using-java-example"></a>

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

**Example**  

```
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);
        }
    }
}
```

# を使用した Amazon Glacier でのアーカイブの削除 AWS SDK for .NET
<a name="deleting-an-archive-using-dot-net"></a>

両方[高レベル API と低レベル API](using-aws-sdk.md).NET 用の Amazon SDK で提供されており、アーカイブを削除する方法を提供します。

**Topics**
+ [の高レベル API を使用したアーカイブの削除 AWS SDK for .NET](#delete-archive-using-dot-net-high-level)
+ [低レベル API を使用したアーカイブの削除 AWS SDK for .NET](#delete-archive-using-dot-net-low-level)

## の高レベル API を使用したアーカイブの削除 AWS SDK for .NET
<a name="delete-archive-using-dot-net-high-level"></a>

高レベル API の `ArchiveTransferManager` クラスには、アーカイブの削除に使用できる `DeleteArchive` メソッドが用意されています。

### 例: の高レベル API を使用したアーカイブの削除 AWS SDK for .NET
<a name="delete-archive-dot-net-high-level-example"></a>

次の C\$1 コード例では、 の高レベル API AWS SDK for .NET を使用してアーカイブを削除します。この例を実行するための詳しい手順については、「[コード例の実行](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet)」を参照してください。ここに示したコードは、削除するアーカイブのアーカイブ ID で、更新する必要があります。

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime; 

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class ArchiveDeleteHighLevel
  {
    static string vaultName = "examplevault";
    static string archiveId = "*** Provide archive ID ***";

    public static void Main(string[] args)
    {
      try
      {
        var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
        manager.DeleteArchive(vaultName, archiveId);
        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();
    }
  }
}
```

## 低レベル API を使用したアーカイブの削除 AWS SDK for .NET
<a name="delete-archive-using-dot-net-low-level"></a>

以下に、 AWS SDK for .NETを使用してアーカイブを削除する手順を示します。

 

1. `AmazonGlacierClient` クラスのインスタンス（クライアント）を作成します。

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

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

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

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

### 例: の低レベル API を使用してアーカイブを削除する AWS SDK for .NET
<a name="delete-archive-dot-net-low-level-example"></a>

以下の C\$1 の例は、前述の手順を示しています。この例では、 の低レベル API AWS SDK for .NET を使用してアーカイブを削除します。

**注記**  
基本となる REST API については、「[アーカイブの削除 (DELETE archive)](api-archive-delete.md)」を参照してください。

 この例を実行するための詳しい手順については、「[コード例の実行](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet)」を参照してください。ここに示したコードは、削除するアーカイブのアーカイブ ID で、更新する必要があります。

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Model;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class ArchiveDeleteLowLevel
  {
    static string vaultName = "examplevault";
    static string archiveId = "*** Provide archive ID ***";

    public static void Main(string[] args)
    {
      AmazonGlacierClient client;
      try
      {
        using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
          Console.WriteLine("Deleting the archive");
          DeleteAnArchive(client);
        }
        Console.WriteLine("Operations successful. 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 void DeleteAnArchive(AmazonGlacierClient client)
    {
      DeleteArchiveRequest request = new DeleteArchiveRequest()
      {
        VaultName = vaultName,
        ArchiveId = archiveId
      };
      DeleteArchiveResponse response = client.DeleteArchive(request);
    }
  }
}
```

# REST API を使用した Amazon Glacier アーカイブの削除
<a name="deleting-an-archive-using-rest"></a>

アーカイブ削除 API を使用して、アーカイブを削除できます。
+ アーカイブ削除 API の詳細については、「[アーカイブの削除 (DELETE archive)](api-archive-delete.md)」を参照してください。
+ REST API の使用については、「[Amazon Glacier の API リファレンス](amazon-glacier-api.md)」を参照してください。

# を使用した Amazon Glacier でのアーカイブの削除 AWS Command Line Interface
<a name="deleting-an-archive-using-cli"></a>

 AWS Command Line Interface () を使用して、Amazon Glacier (Amazon Glacier) のアーカイブを削除できますAWS CLI。

**Topics**
+ [(前提条件) のセットアップ AWS CLI](#Creating-Vaults-CLI-Setup)
+ [例: を使用したアーカイブの削除 AWS CLI](#Deleting-Archives-CLI-Implementation)

## (前提条件) のセットアップ AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

1.  AWS CLIをダウンロードして設定します。手順については、*「AWS Command Line Interface ユーザーガイド」*の次のトピックを参照してください。

    [のインストール AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [の設定 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. コマンドプロンプトで次のコマンドを入力して、 AWS CLI セットアップを確認します。これらのコマンドは、いずれも認証情報を明示的に提供しないため、デフォルトプロファイルの認証情報が使用されます。
   + help コマンドを使用してください。

     ```
     aws help
     ```
   + 設定したアカウントの Amazon Glacier ボールトのリストを取得するには、`list-vaults` コマンドを使用します。*123456789012* を AWS アカウント ID に置き換えます。

     ```
     aws glacier list-vaults --account-id 123456789012
     ```
   + の現在の設定データを表示するには AWS CLI、 `aws configure list` コマンドを使用します。

     ```
     aws configure list
     ```

## 例: を使用したアーカイブの削除 AWS CLI
<a name="Deleting-Archives-CLI-Implementation"></a>

1. インベントリ取得ジョブを開始するには、[https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-job.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-job.html) コマンドを使用します。

   ```
   aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters="{\"Type\":\"inventory-retrieval\"}"
   ```

    正常な出力:

   ```
   {
       "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", 
       "jobId": "*** jobid ***"
   }
   ```

1. 以前の取得ジョブのステータスをチェックするには、[https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-job.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-job.html) コマンドを使用します。

   ```
   aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***
   ```

    正常な出力:

   ```
   {
       "InventoryRetrievalParameters": {
           "Format": "JSON"
       }, 
       "VaultARN": "*** vault arn ***", 
       "Completed": false, 
       "JobId": "*** jobid ***", 
       "Action": "InventoryRetrieval", 
       "CreationDate": "*** job creation date ***", 
       "StatusCode": "InProgress"
   }
   ```

1.  ジョブが完了するまで待ちます。

   ジョブの出力をダウンロードする準備が整うまで待つ必要があります。ボールトに通知設定を指定している場合、またはジョブを開始したときに Amazon Simple Notification Service (Amazon SNS) トピックを指定している場合は、ジョブの完了後に Amazon Glacier からそのトピックにメッセージが送信されます。

   ボールトに特定のイベントに対する通知設定を指定できます。詳細については、「[Amazon Glacier でボールト通知を設定する](configuring-notifications.md)」を参照してください。Amazon Glacier は、特定のイベントが発生するたびに、指定された SNS トピックにメッセージを送信します。

1. 完了したら、[https://docs.aws.amazon.com/cli/latest/reference/glacier/get-job-output.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/get-job-output.html) コマンドを使用して、取得ジョブをファイル `output.json` にダウンロードします。

   ```
   aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output.json
   ```

   このコマンドは、次のフィールドを含むファイルを生成します。

   ```
   {
   "VaultARN":"arn:aws:glacier:region:111122223333:vaults/awsexamplevault",
   "InventoryDate":"*** job completion date ***",
   "ArchiveList":[
   {"ArchiveId":"*** archiveid ***",
   "ArchiveDescription":*** archive description (if set) ***,
   "CreationDate":"*** archive creation date ***",
   "Size":"*** archive size (in bytes) ***",
   "SHA256TreeHash":"*** archive hash ***"
   }
   {"ArchiveId":
   ...
   ]}
   ```

1. `delete-archive` コマンドを使用して、ボールトから各アーカイブを削除します。

   ```
   aws glacier delete-archive --vault-name awsexamplevault --account-id 111122223333 --archive-id *** archiveid ***
   ```