刪除目錄儲存貯體中的物件 - Amazon Simple Storage Service

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

刪除目錄儲存貯體中的物件

您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI) 或 AWS 開發套件,從 Amazon S3 目錄儲存貯體刪除物件。如需詳細資訊,請參閱 目錄值區什麼是 S3 Express One Zone?

警告
  • 刪除物件無法復原。

  • 此動作會刪除所有指定的物件。刪除資料夾時,請等待刪除動作完成,然後再將新物件加入至資料夾。否則,系統也可能會刪除新物件。

注意

當您以程式設計方式從目錄值區刪除多個物件時,請注意下列事項:

  • DeleteObjects 請求中的物件索引鍵必須至少包含一個非空格字元。不支援所有空格字元的字串。

  • DeleteObjects要求中的物件索引鍵不能包含 Unicode 控制字元,除了換行符號 (\n)、tab (\t) 和歸位字元 (\r)。

刪除物件
  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 選擇目錄儲存貯體索引標籤。

  4. 選擇包含您要刪除之物件的目錄值區。

  5. 選擇 Objects (物件) 索引標籤。在「物件」清單中,選取要刪除之一或多個物件左側的核取方塊。

  6. 選擇刪除

  7. 在 [刪除物件] 頁面上,於文字方塊permanently delete中輸入。

  8. 選擇 Delete objects (刪除物件)。

SDK for Java 2.x

下列範例會使用刪除目錄值區中的物件 AWS SDK for Java 2.x。

static void deleteObject(S3Client s3Client, String bucketName, String objectKey) { try { DeleteObjectRequest del = DeleteObjectRequest.builder() .bucket(bucketName) .key(objectKey) .build(); s3Client.deleteObject(del); System.out.println("Object " + objectKey + " has been deleted"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for Python

下列範例會使用刪除目錄值區中的物件 AWS SDK for Python (Boto3)。

import logging import boto3 from botocore.exceptions import ClientError def delete_objects(s3_client, bucket_name, objects): ''' Delete a list of objects in a directory bucket :param s3_client: boto3 S3 client :param bucket_name: Bucket that contains objects to be deleted; for example, 'doc-example-bucket--usw2-az1--x-s3' :param objects: List of dictionaries that specify the key names to delete :return: Response output, else False ''' try: response = s3_client.delete_objects( Bucket = bucket_name, Delete = { 'Objects': objects } ) return response except ClientError as e: logging.error(e) return False if __name__ == '__main__': region = 'us-west-2' bucket_name = 'BUCKET_NAME' objects = [ { 'Key': '0.txt' }, { 'Key': '1.txt' }, { 'Key': '2.txt' }, { 'Key': '3.txt' }, { 'Key': '4.txt' } ] s3_client = boto3.client('s3', region_name = region) results = delete_objects(s3_client, bucket_name, objects) if results is not None: if 'Deleted' in results: print (f'Deleted {len(results["Deleted"])} objects from {bucket_name}') if 'Errors' in results: print (f'Failed to delete {len(results["Errors"])} objects from {bucket_name}')

下列delete-object範例命令顯示如何使用 AWS CLI 從目錄值區刪除物件。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3api delete-object --bucket bucket-base-name--azid--x-s3 --key KEY_NAME

如需詳細資訊,請參閱 AWS CLI 命令參考中的 delete-object