

 **此頁面僅適用於使用 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/)

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

# 在 Amazon Glacier 中擷取保存庫中繼資料
<a name="retrieving-vault-info"></a>

您可以擷取保存庫資訊，例如保存庫建立日期、保存庫中的封存數和保存庫中所有封存的總大小。Amazon Glacier (Amazon Glacier) 為您提供 API 呼叫，以擷取您帳戶中特定 AWS 區域中特定保存庫或所有保存庫的資訊。

如果您擷取保存庫清單，Amazon Glacier 會傳回依保存庫名稱的 ASCII 值排序的清單。該清單最多可包含 1,000 個保存庫。您應該一直檢查標記的回應以在此繼續列表；如果沒有更多項目，標記欄位為 `null`。您可以選擇限制 回應中傳回的保存庫數量。如果回應中的保存庫比所傳回的更多，則會對結果進行分頁。您需要傳送其他請求，以擷取下一組保存庫。

**Topics**
+ [使用 在 Amazon Glacier 中擷取保存庫中繼資料 適用於 Java 的 AWS SDK](retrieving-vault-info-sdk-java.md)
+ [使用 在 Amazon Glacier 中擷取保存庫中繼資料 適用於 .NET 的 AWS SDK](retrieving-vault-info-sdk-dotnet.md)
+ [使用 REST API 擷取保存庫中繼資料](listing-vaults-rest-api.md)
+ [使用 在 Amazon Glacier 中擷取保存庫中繼資料 AWS Command Line Interface](retrieving-vault-info-cli.md)

# 使用 在 Amazon Glacier 中擷取保存庫中繼資料 適用於 Java 的 AWS SDK
<a name="retrieving-vault-info-sdk-java"></a>

**Topics**
+ [擷取保存庫的保存庫中繼資料](#retrieve-vault-info-sdk-java-lowlevel-one-vault)
+ [擷取區域中所有保存庫的保存庫中繼資料](#retrieve-vault-info-sdk-java-lowlevel-all-vaults)
+ [範例：使用適用於 Java 的 Amazon 開發套件擷取保存庫中繼資料](#retrieving-vault-info-sdk-java-example)

## 擷取保存庫的保存庫中繼資料
<a name="retrieve-vault-info-sdk-java-lowlevel-one-vault"></a>

您可以擷取特定保存庫或特定 AWS 區域中所有保存庫的中繼資料。以下的步驟說明如何使用適用於 Java 的 Amazon 開發套件的低階 API，為特定保存庫擷取保存庫中繼資料。

 

1. 建立 `AmazonGlacierClient` 類別的執行個體 (用戶端)。

   您需要指定保存庫所在的 AWS 區域。您使用此用戶端執行的所有操作都會套用到該 AWS 區域。

1. 您可以透過建立 `DescribeVaultRequest` 類別的執行個體來提供請求資訊。

   Amazon Glacier (Amazon Glacier) 要求您提供保存庫名稱和帳戶 ID。如果您不提供帳戶 ID，則會使用與您提供來簽署請求之登入資料關聯的帳戶 ID。如需詳細資訊，請參閱[適用於 Java 的 AWS SDK 搭配 Amazon Glacier 使用](using-aws-sdk-for-java.md)。

1. 以參數形式提供請求物件，以便執行 `describeVault` 方法。

   Amazon 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 保存庫)](api-vault-get.md)。

## 擷取區域中所有保存庫的保存庫中繼資料
<a name="retrieve-vault-info-sdk-java-lowlevel-all-vaults"></a>

您也可以使用 `listVaults`方法來擷取特定 AWS 區域中所有保存庫的中繼資料。

以下 Java 程式碼片段擷取 `us-west-2` 區域中的文件庫清單。請求會限制回應中傳回的保存庫數量為 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`值，Amazon Glacier 會傳回最多 10 個保存庫，如 Amazon Glacier API 所設定。如果要列出更多的文件庫，則回應 `marker` 欄位包含文件庫 Amazon Resource Name (ARN)，以便以新的請求繼續列出，否則 `marker` 欄位為 null。

請注意，清單中為每個保存庫傳回的資訊與透過呼叫特定保存庫的 `describeVault` 方法所獲得的資訊相同。

 

**注意**  
`listVaults` 方法呼叫底層 REST API (請參閱 [「列出保存庫」(GET 保存庫)](api-vaults-get.md))。

## 範例：使用適用於 Java 的 Amazon 開發套件擷取保存庫中繼資料
<a name="retrieving-vault-info-sdk-java-example"></a>

如需運作中程式碼範例，請參閱「[範例：使用 建立保存庫 適用於 Java 的 AWS SDK](creating-vaults-sdk-java.md#creating-vaults-sdk-java-example)」。Java 程式碼範例建立文件庫和擷取文件庫中繼資料。

# 使用 在 Amazon Glacier 中擷取保存庫中繼資料 適用於 .NET 的 AWS SDK
<a name="retrieving-vault-info-sdk-dotnet"></a>

**Topics**
+ [擷取保存庫的保存庫中繼資料](#retrieve-vault-info-sdk-dotnet-lowlevel-one-vault)
+ [擷取區域中所有保存庫的保存庫中繼資料](#retrieve-vault-info-sdk-dotnet-lowlevel-all-vaults)
+ [範例：使用 的低階 API 擷取保存庫中繼資料 適用於 .NET 的 AWS SDK](#creating-vaults-sdk-dotnet-example)

## 擷取保存庫的保存庫中繼資料
<a name="retrieve-vault-info-sdk-dotnet-lowlevel-one-vault"></a>

您可以擷取特定保存庫或特定 AWS 區域中所有保存庫的中繼資料。以下是使用 適用於 .NET 的 AWS SDK的低階 API 為特定保存庫擷取保存庫中繼資料的步驟。

 

1. 建立 `AmazonGlacierClient` 類別的執行個體 (用戶端)。

   您需要指定保存庫所在的 AWS 區域。您使用此用戶端執行的所有操作都會套用到該 AWS 區域。

1. 您可以透過建立 `DescribeVaultRequest` 類別的執行個體來提供請求資訊。

   Amazon Glacier (Amazon Glacier) 要求您提供保存庫名稱和帳戶 ID。如果您不提供帳戶 ID，則會使用與您提供來簽署請求之登入資料關聯的帳戶 ID。如需詳細資訊，請參閱[適用於 .NET 的 AWS SDK 搭配 Amazon Glacier 使用](using-aws-sdk-for-dot-net.md)。

1. 以參數形式提供請求物件，以便執行 `DescribeVault` 方法。

   Amazon Glacier 傳回的保存庫中繼資料資訊可在 `DescribeVaultResult` 物件中使用。

下列 C\$1 程式碼片段描述前述步驟。程式碼片段擷取美國西部 (奧勒岡) 區域中現有保存庫的中繼資料資訊。

```
AmazonGlacierClient client;
client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
{
  VaultName = "*** Provide vault name ***"
};  
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 
   );
```

 

**注意**  
如需基礎 REST API 的資訊，請參閱 [描述保存庫 (GET 保存庫)](api-vault-get.md)。

## 擷取區域中所有保存庫的保存庫中繼資料
<a name="retrieve-vault-info-sdk-dotnet-lowlevel-all-vaults"></a>

您也可以使用 `ListVaults`方法來擷取特定 AWS 區域中所有保存庫的中繼資料。

以下 C\$1 程式碼片段擷取美國西部 (奧勒岡) 區域中的保存庫清單。請求會限制回應中傳回的保存庫數量為 5 個。程式碼片段接著會進行一系列`ListVaults`呼叫，從 AWS 區域擷取整個保存庫清單。

 

```
AmazonGlacierClient client;
client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
string lastMarker = null;
Console.WriteLine("\n List of vaults in your account in the specific AWS Region ...");
do
{
  ListVaultsRequest request = new ListVaultsRequest()
  {
    Limit = 5,
    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);
```

在上述程式碼區段中，如果您未在請求中指定 `Limit`值，Amazon Glacier 會傳回最多 10 個保存庫，如 Amazon Glacier API 所設定。

請注意，清單中為每個保存庫傳回的資訊與透過呼叫特定保存庫的 `DescribeVault` 方法所獲得的資訊相同。

 

**注意**  
`ListVaults` 方法呼叫底層 REST API (請參閱 [「列出保存庫」(GET 保存庫)](api-vaults-get.md))。

## 範例：使用 的低階 API 擷取保存庫中繼資料 適用於 .NET 的 AWS SDK
<a name="creating-vaults-sdk-dotnet-example"></a>

如需運作中程式碼範例，請參閱「[範例：使用 的低階 API 的保存庫操作 適用於 .NET 的 AWS SDK](creating-vaults-dotnet-sdk.md#vault-operations-example-dotnet-lowlevel)」。C\$1 程式碼範例建立保存庫和擷取保存庫中繼資料。

# 使用 REST API 擷取保存庫中繼資料
<a name="listing-vaults-rest-api"></a>

若要使用 REST API 列出保存庫的更多資訊，請參閱 [「列出保存庫」(GET 保存庫)](api-vaults-get.md)。若要描述一個保存庫的詳細資訊，請參閱 [描述保存庫 (GET 保存庫)](api-vault-get.md)。

# 使用 在 Amazon Glacier 中擷取保存庫中繼資料 AWS Command Line Interface
<a name="retrieving-vault-info-cli"></a>

此範例說明如何使用 AWS Command Line Interface () 擷取 Amazon Glacier (Amazon Glacier) 中的保存庫資訊和中繼資料AWS CLI。

**Topics**
+ [（先決條件） 設定 AWS CLI](#Creating-Vaults-CLI-Setup)
+ [範例：使用 擷取保存庫中繼資料 AWS CLI](#Retrieving-Vault-Metadata-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="Retrieving-Vault-Metadata-CLI-Implementation"></a>
+ 使用 `describe-vault` 命令，在帳戶 *111122223333* 下描述一個名為 *awsexamplevault* 的保存庫。

  ```
  aws glacier describe-vault --vault-name awsexamplevault --account-id 111122223333
  ```