此頁面僅適用於使用 Vault 和 REST API 2012 年原始版本的 S3 Glacier 服務的現有客戶。
如果您要尋找封存儲存解決方案,建議您在 Amazon S3、S3 Glacier S3 Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中使用 S3 Glacier 儲存類別。若要進一步了解這些儲存選項,請參閱 Amazon S3 使用者指南 中的使用 S3 Glacier 儲存類別的 S3 Glacier 儲存類別和長期資料儲存。 Amazon S3 這些儲存類別使用 Amazon S3 API,適用於所有區域,並且可以在 Amazon S3 主控台中管理。它們提供 Storage Cost Analysis、Storage Lens、進階選用加密功能等功能。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DeleteArchive
搭配 AWS SDK或 使用 CLI
下列程式碼範例示範如何使用 DeleteArchive
。
動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:
- CLI
-
- AWS CLI
-
從文件庫刪除封存
下列 delete-archive
範例會從 example_vault
中移除指定的封存。
aws glacier delete-archive \
--account-id 111122223333
\
--vault-name example_vault
\
--archive-id Sc0u9ZP8yaWkmh-XGlIvAVprtLhaLCGnNwNl5I5x9HqPIkX5mjc0DrId3Ln-Gi_k2HzmlIDZUz117KSdVMdMXLuFWi9PJUitxWO73edQ43eTlMWkH0pd9zVSAuV_XXZBVhKhyGhJ7w
此命令不會產生輸出。
- Java
-
- SDK 適用於 Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.glacier.GlacierClient;
import software.amazon.awssdk.services.glacier.model.DeleteArchiveRequest;
import software.amazon.awssdk.services.glacier.model.GlacierException;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class DeleteArchive {
public static void main(String[] args) {
final String usage = """
Usage: <vaultName> <accountId> <archiveId>
Where:
vaultName - The name of the vault that contains the archive to delete.
accountId - The account ID value.
archiveId - The archive ID value.
""";
if (args.length != 3) {
System.out.println(usage);
System.exit(1);
}
String vaultName = args[0];
String accountId = args[1];
String archiveId = args[2];
GlacierClient glacier = GlacierClient.builder()
.region(Region.US_EAST_1)
.build();
deleteGlacierArchive(glacier, vaultName, accountId, archiveId);
glacier.close();
}
public static void deleteGlacierArchive(GlacierClient glacier, String vaultName, String accountId,
String archiveId) {
try {
DeleteArchiveRequest delArcRequest = DeleteArchiveRequest.builder()
.vaultName(vaultName)
.accountId(accountId)
.archiveId(archiveId)
.build();
glacier.deleteArchive(delArcRequest);
System.out.println("The archive was deleted.");
} catch (GlacierException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- Python
-
- SDK for Python (Boto3)
-
class GlacierWrapper:
"""Encapsulates Amazon S3 Glacier API operations."""
def __init__(self, glacier_resource):
"""
:param glacier_resource: A Boto3 Amazon S3 Glacier resource.
"""
self.glacier_resource = glacier_resource
@staticmethod
def delete_archive(archive):
"""
Deletes an archive from a vault.
:param archive: The archive to delete.
"""
try:
archive.delete()
logger.info(
"Deleted archive %s from vault %s.", archive.id, archive.vault_name
)
except ClientError:
logger.exception("Couldn't delete archive %s.", archive.id)
raise
如需開發人員指南和程式碼範例的完整清單 AWS SDK,請參閱 搭配 AWS 開發套件使用 S3 冰川。本主題也包含入門的相關資訊,以及先前SDK版本的詳細資訊。