此頁面僅適用於使用 Vaults 和 2012 年原始 REST API 的 S3 Glacier 服務的現有客戶。
如果您要尋找封存儲存解決方案,建議您在 Amazon S3、S3 Glacier S3 Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中使用 S3 Glacier 儲存類別。若要進一步了解這些儲存選項,請參閱《Amazon S3
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS SDK for .NET 擷取 Amazon S3 Glacier 中的文件庫中繼資料
擷取文件庫的文件庫中繼資料
您可以針對特定 AWS 區域中的特定文件庫或所有文件庫擷取中繼資料。以下是使用 AWS SDK for .NET 的低階 API 為特定文件庫擷取文件庫中繼資料的步驟。
-
建立
AmazonGlacierClient
類別的執行個體 (用戶端)。您需要指定文件庫所在的 AWS 區域。所有您使用此用戶端執行的操作均會套用到該 AWS 區域。
-
您可以透過建立
DescribeVaultRequest
類別的執行個體來提供請求資訊。Amazon S3 Glacier (S3 Glacier) 要求您提供文件庫名稱和帳戶 ID。如果您不提供帳戶 ID,則會使用與您提供來簽署請求之登入資料關聯的帳戶 ID。如需更多詳細資訊,請參閱 將 AWS SDK for .NET 與 Amazon S3 Glacier 搭配使用。
-
以參數形式提供請求物件,以便執行
DescribeVault
方法。S3 Glacier 傳回的文件庫中繼資料資訊在
DescribeVaultResult
物件中是可用的。
下列 C# 程式碼片段描述前述步驟。程式碼片段擷取美國西部 (奧勒岡) 區域中現有文件庫的中繼資料資訊。
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 保存庫)。
擷取區域中所有文件庫的文件庫中繼資料
您也可以使用 ListVaults
方法,針對特定 AWS 區域中的所有文件庫擷取中繼資料。
以下 C# 程式碼片段擷取美國西部 (奧勒岡) 區域中的文件庫清單。請求會限制回應中傳回的文件庫數量為 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
值,則 S3 Glacier 將傳回多達 10 個文件庫,這些文件庫是由 S3 Glacier API 設定的。
請注意,清單中為每個文件庫傳回的資訊與透過呼叫特定文件庫的 DescribeVault
方法所獲得的資訊相同。
注意
ListVaults
方法呼叫底層 REST API (請參閱 「列出保存庫」(GET 保存庫))。
範例:使用 AWS SDK for .NET 的低階 API 擷取文件庫中繼資料
如需運作中程式碼範例,請參閱「範例:使用 AWS SDK for .NET 的低階 API 的文件庫操作」。C# 程式碼範例建立文件庫和擷取文件庫中繼資料。