

 **此頁面僅適用於使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服務的現有客戶。**

如果您要尋找封存儲存解決方案，建議您在 Amazon Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中使用 Amazon Glacier 儲存類別。 Amazon S3 若要進一步了解這些儲存選項，請參閱 [Amazon Glacier 儲存類別](https://aws.amazon.com/s3/storage-classes/glacier/)。

Amazon Glacier （原始獨立保存庫型服務） 不再接受新客戶。Amazon Glacier 是一項獨立服務，具有自己的 APIs，可將資料存放在保存庫中，並與 Amazon S3 和 Amazon S3 Glacier 儲存類別不同。您現有的資料將在 Amazon Glacier 中無限期保持安全且可存取。不需要遷移。對於低成本、長期的封存儲存， AWS 建議使用 [Amazon S3 Glacier 儲存類別](https://aws.amazon.com/s3/storage-classes/glacier/)，透過 S3 儲存貯體型 APIs、完整 AWS 區域 可用性、降低成本 AWS 和服務整合，提供卓越的客戶體驗。如果您想要增強功能，請考慮使用我們的解決方案指南，將資料從 Amazon S3 Glacier 保存庫傳輸至 Amazon S3 Glacier 儲存類別，以遷移至 Amazon S3 Glacier 儲存類別。 [AWS Amazon Glacier Amazon S3 ](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 5：從 Amazon Glacier 中的保存庫刪除封存
<a name="getting-started-delete-archive"></a>

在此步驟中，您將刪除在 [步驟 3：將封存上傳至 Amazon Glacier 中的保存庫](getting-started-upload-archive.md) 中上傳的範例封存。

**重要**  
您無法使用 Amazon Glacier 主控台刪除封存。任何封存操作，例如上傳、下載或刪除，都需要您使用 AWS Command Line Interface (CLI) 或寫入程式碼。若要上傳資料，例如相片、影片和其他文件，您必須直接使用 REST API AWS CLI 或使用 AWS SDKs，使用 或 撰寫程式碼來提出請求。  
若要安裝 AWS CLI，請參閱 [AWS Command Line Interface](https://aws.amazon.com/cli/)。如需搭配 使用 Amazon Glacier 的詳細資訊 AWS CLI，請參閱 [AWS CLI Amazon Glacier 的參考](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)。如需使用 AWS CLI 將封存上傳至 Amazon Glacier 的範例，請參閱[搭配使用 Amazon Glacier 與 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html)。

刪除範例封存檔，請遵循下列其中一個開發套件或 AWS CLI：
+ [使用 從 Amazon Glacier 中的保存庫刪除封存 適用於 Java 的 AWS SDK](getting-started-delete-archive-java.md)
+ [使用 從 Amazon Glacier 中的保存庫刪除封存 適用於 .NET 的 AWS SDK](getting-started-delete-archive-dotnet.md)
+ [使用 在 Amazon Glacier 中刪除封存 AWS CLI](getting-started-delete-archive-cli.md)

## 相關章節
<a name="getting-started-delete-archive-related-sections"></a>

 
+ [步驟 3：將封存上傳至 Amazon Glacier 中的保存庫](getting-started-upload-archive.md)
+ [在 Amazon Glacier 中刪除封存](deleting-an-archive.md)

# 使用 從 Amazon Glacier 中的保存庫刪除封存 適用於 Java 的 AWS SDK
<a name="getting-started-delete-archive-java"></a>

下列程式碼範例使用 適用於 Java 的 AWS SDK 刪除封存。在程式碼中，請注意下列事項：

 
+ `DeleteArchiveRequest` 物件描述刪除請求，包括封存歸檔所在的保存庫名稱和封存 ID。
+ `deleteArchive` API 操作會將請求傳送至 Amazon Glacier 以刪除封存。
+ 此範例使用美國西部 (奧勒岡) 區域 (`us-west-2`)。

如需執行此範例的逐步說明，請參閱 [使用 Eclipse 執行 Amazon Glacier 的 Java 範例](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java)。您需要按照在 [步驟 3：將封存上傳至 Amazon Glacier 中的保存庫](getting-started-upload-archive.md) 中上傳之檔案的封存 ID 來更新程式碼。

**Example — 使用 刪除封存 適用於 Java 的 AWS SDK**  <a name="GS_ExampleDeleteArchiveJava"></a>

```
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 AmazonGlacierDeleteArchive_GettingStarted {

    public static String vaultName = "examplevault";
    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-west-2.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 中的保存庫刪除封存 適用於 .NET 的 AWS SDK
<a name="getting-started-delete-archive-dotnet"></a>

下列 C\$1 程式碼範例使用 的高階 API 適用於 .NET 的 AWS SDK 來刪除您在上一個步驟中上傳的封存。在程式碼範例中，請注意下列事項：
+ 此範例會為指定的 Amazon Glacier 區域端點建立 `ArchiveTransferManager`類別的執行個體。
+ 此程式碼範例使用美國西部 (奧勒岡) 區域 (`us-west-2`)。
+ 此範例使用所提供 `ArchiveTransferManager` 類別的 `Delete` API 作業作為 適用於 .NET 的 AWS SDK的高階 API。

如需執行此範例的逐步說明，請參閱 [執行程式碼範例](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet)。您需要按照在 [步驟 3：將封存上傳至 Amazon Glacier 中的保存庫](getting-started-upload-archive.md) 中上傳之檔案的封存 ID 來更新程式碼。

**Example — 使用 的高階 API 刪除封存 適用於 .NET 的 AWS SDK**  <a name="GS_ExampleDeleteArchiveDotNet"></a>

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

namespace glacier.amazon.com.rproxy.govskope.ca.docsamples
{
  class ArchiveDeleteHighLevel_GettingStarted
  {
    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);
      }
      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();
    }
  }
}
```

# 使用 在 Amazon Glacier 中刪除封存 AWS CLI
<a name="getting-started-delete-archive-cli"></a>

您可以使用 AWS Command Line Interface () 刪除 Amazon Glacier 中的封存AWS CLI。

**Topics**
+ [（先決條件） 設定 AWS CLI](#Creating-Vaults-CLI-Setup)
+ [範例：使用 刪除封存 AWS CLI](#getting-started-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 設定。這些命令不會明確提供登入資料，因此會使用預設描述檔的登入資料。
   + 嘗試使用幫助命令。

     ```
     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="getting-started-Deleting-Archives-CLI-Implementation"></a>

1. 使用 `initiate-job` 命令啟動清查擷取任務。如需 `initiate-job` 命令的詳細資訊，請參閱[啟動工作](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.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. 使用 `describe-job` 命令檢查先前擷取工作的狀態。如需有關 `describe-job` 命令的詳細資訊，請參閱[描述工作](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.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 就會傳送訊息至指定的 Amazon SNS 主題。

1. 工作完成時，請使用 `get-job-output` 命令將擷取工作下載至檔案 `output.json`。如需 `get-job-output` 命令的詳細資訊，請參閱[取得工作輸出](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.html)。

   ```
   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": 123456789
   
   }
   ```

1. 使用 `delete-archive` 命令從文件庫中刪除每個存檔，直到沒有存檔為止。

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

 如需有關 `delete-archive` 命令的詳細資訊，請參閱[刪除封存](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html)。