

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

# 清空一般用途儲存貯體
<a name="empty-bucket"></a>

您可以使用 Amazon S3 主控台、 AWS SDKs 或 AWS Command Line Interface () 清空一般用途儲存貯體的內容AWS CLI。當清空一般用途儲存貯體時，所有物件將會一併刪除，但儲存貯體會保留。清空儲存貯體後，就無法復原。清空儲存貯體動作正在進行時在儲存貯體中新增的物件可能會遭到刪除。在刪除儲存貯體之前，必須先刪除儲存貯體中的所有物件 (包括所有物件版本和刪除標記)。

當您清空已啟用或暫停 S3 版本控制的一般用途儲存貯體時，會刪除儲存貯體中所有物件的所有版本。如需詳細資訊，請參閱[使用已啟用版本控制之儲存貯體中的物件](manage-objects-versioned-bucket.md)。

清空儲存貯體時，建議您也一併移除所有未完成的分段上傳。您可以使用分段上傳，將非常大型的物件 （高達 50 TB) 上傳為一組組件，以提高輸送量並更快速地從網路問題中復原。如果分段上傳程序未完成，未完成的部分仍會留在儲存貯體中 (處於無法使用狀態)。這些未完成的部分會產生儲存成本，直到上傳程序完成或將未完成的部分移除為止。如需詳細資訊，請參閱[在 Amazon S3 中使用分段上傳來上傳和複製物件](mpuoverview.md)。

做為最佳實務，建議您設定生命週期規則，使物件和超過特定天數未完成的分段上傳過期。當您建立生命週期規則，使未完成的分段上傳過期時，我們建議您使用 7 天作為不錯的起點。如需詳細資訊，請參閱[設定儲存貯體的 S3 生命週期組態](how-to-set-lifecycle-configuration-intro.md)。

 生命週期到期是一種非同步程序，因此規則可能需要幾天的時間才會執行，然後再將您的儲存貯體清空。Amazon S3 第一次執行規則後，符合到期資格的所有物件都會標記為要刪除。您不需再為標記為要刪除的物件付費。如需詳細資訊，請參閱[如何使用生命週期組態規則清空 Amazon S3 儲存貯體？](https://repost.aws/knowledge-center/s3-empty-bucket-lifecycle-rule)。

## 使用 S3 主控台
<a name="empty-bucket-console"></a>

您可以使用 Amazon S3 主控台清空一般用途儲存貯體，這會刪除儲存貯體中的所有物件，而不需要刪除儲存貯體。

**清空 S3 儲存貯體**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 在儲存貯體清單中，選取要清空之儲存貯體名稱旁的選項，然後選擇**清空**。

1. 在 **Empty bucket (清空儲存貯體)** 頁面上，在文字欄位中輸入儲存貯體名稱以確認您要清空的儲存貯體，然後選擇 **Empty (清空)**。

1. 在 **Empty bucket: Status** (清空儲存貯體：狀態) 頁面上監控儲存貯體清空的進度。

## 使用 AWS CLI
<a name="empty-bucket-awscli"></a>

 AWS CLI 只有在儲存貯體未啟用儲存貯體版本控制時，才能使用 清空一般用途儲存貯體。如果未啟用版本控制，您可以使用 `rm`（移除） AWS CLI 命令搭配 `--recursive` 參數來清空儲存貯體 （或移除具有特定金鑰名稱字首的物件子集）。

下列 `rm` 命令會移除具有索引鍵名稱字首 `doc` (例如 `doc/doc1` 與 `doc/doc2`) 的物件。

```
$ aws s3 rm s3://bucket-name/doc --recursive
```

使用下列命令會移除所有未指定字首的物件。

```
$ aws s3 rm s3://bucket-name --recursive
```

如需詳細資訊，請參閱*《AWS Command Line Interface 使用者指南》*中的[搭配 AWS CLI使用高階 S3 命令](https://docs.aws.amazon.com/cli/latest/userguide/using-s3-commands.html)。

**注意**  
您無法從已啟用版本控制的儲存貯體中移除物件。當您刪除物件時，Amazon S3 會新增刪除標記，也就是這個命令會執行的動作。如需 S3 儲存貯體版本控制的詳細資訊，請參閱「[使用 S3 版本控制保留多個版本的物件](Versioning.md)」。

## 使用 AWS SDKs
<a name="empty-bucket-awssdks"></a>

您可以使用 AWS SDKs清空一般用途儲存貯體，或移除具有特定金鑰名稱字首的物件子集。

如需如何使用 清空儲存貯體的範例 適用於 Java 的 AWS SDK，請參閱 [刪除一般用途儲存貯體](delete-bucket.md)。此程式碼會刪除所有物件，而不論儲存貯體是否已啟用版本控制，然後它會刪除儲存貯體。若只要清空儲存貯體，請務必移除刪除儲存貯體的陳述式。

如需使用 AWS SDKs的詳細資訊，請參閱[適用於 Amazon Web Services 的工具](https://aws.amazon.com/tools/)。

## 使用生命週期組態
<a name="empty-bucket-lifecycle"></a>

若要清空大型一般用途儲存貯體，建議您使用 S3 生命週期組態規則。生命週期到期是一種非同步程序，因此規則可能需要幾天的時間才會執行，然後再將儲存貯體清空。Amazon S3 第一次執行規則後，符合到期資格的所有物件都會標記為要刪除。您不需再為標記為要刪除的物件付費。如需詳細資訊，請參閱[如何使用生命週期組態規則清空 Amazon S3 儲存貯體？](https://repost.aws/knowledge-center/s3-empty-bucket-lifecycle-rule)。

如果使用生命週期組態清空儲存貯體，該組態應包含[目前版本、非目前版本](https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html)、[刪除標記](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html)和[不完整的分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-abort-incomplete-mpu-lifecycle-config.html)。

您可以新增生命週期組態規則，使所有物件或具有特定索引鍵前綴的物件子集過期。例如，若要移除儲存貯體中的所有物件，您可以設定生命週期規則，使物件在建立一天之後過期。

Amazon S3 支援儲存貯體生命週期規則，您可以使用此規則來停止在啟動後指定天數內未完成的分段上傳。建議您設定此生命週期規則，將儲存成本降至最低。如需詳細資訊，請參閱「[設定儲存貯體生命週期組態，以刪除不完整的分段上傳](mpu-abort-incomplete-mpu-lifecycle-config.md)」。

如需有關使用生命週期組態來清空儲存貯體的詳細資訊，請參閱 [設定儲存貯體的 S3 生命週期組態](how-to-set-lifecycle-configuration-intro.md) 和 [即將到期的物件](lifecycle-expire-general-considerations.md)。

## 清空已 AWS CloudTrail 設定 的一般用途儲存貯體
<a name="empty-bucket-cloudtrail"></a>

AWS CloudTrail 會追蹤 Amazon S3 一般用途儲存貯體中的物件層級資料事件，例如刪除物件。如果您使用一般用途儲存貯體做為目的地來記錄 CloudTrail 事件，並從同一個儲存貯體刪除物件，則可能會在清空儲存貯體時建立新物件。若要防止這種情況，請停止您的 AWS CloudTrail 線索。如需有關停止 CloudTrail 線索記錄事件的詳細資訊，請參閱*AWS CloudTrail  使用者指南*中的[關閉v線索的記錄功能](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-delete-trails-console.html)。

停止將 CloudTrail 線索新增至儲存貯體的另一種替代方法是在儲存貯體政策中新增拒絕 `s3:PutObject` 陳述式。如果您想稍後將新物件儲存在儲存貯體中，則需要移除此拒絕 `s3:PutObject` 陳述式。如需詳細資訊，請參閱 *IAM 使用者指南*中的 [物件操作](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects) 和 [IAM JSON 政策元素：效果](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html)。