本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定儲存貯體生命週期組態,以刪除不完整的分段上傳
最佳實務做法建議您使用 AbortIncompleteMultipartUpload
動作設定生命週期規則,從而將儲存體費用降至最低。如需中止分段上傳的詳細資訊,請參閱 中止分段上傳。
Amazon S3 支援的儲存貯體生命週期規則,可用以指示 Amazon S3 在該過程啟動後指定的天數內,停止尚未完成的分段上傳。當分段上傳未在指定的時間範圍內完成時,其符合中止操作的資格。Amazon S3 接著中止分段上傳,並刪除與該分段上傳相關聯的部分。此規則適用於現有的分段上傳以及稍後建立的分段上傳。
下列生命週期組態範例指定了一項規則,其會採取 AbortIncompleteMultipartUpload
動作。
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix></Prefix> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>
在此範例中,規則不會針對 Prefix
元素指定一值 (物件金鑰名稱字首)。因此,規則適用於您啟動分段上傳之儲存貯體中的所有物件。任何已啟動且未在七天內完成的分段上傳,都符合中止操作的資格。中止動作對已完成的分段上傳沒有影響。
如需儲存貯體生命週期組態的詳細資訊,請參閱「管理儲存生命週期」。
注意
若分段上傳在規則指定的天數內完成,就不會套用 AbortIncompleteMultipartUpload
生命週期動作 (也就是說,Amazon S3 不會採取任何動作)。此外,此動作不適用於物件。此生命週期動作不會刪除任何物件。此外,當您移除任何不完整分段上傳時,不會產生 S3 生命週期的提前刪除費用。
若要自動管理不完整的分段上傳,您可以使用 S3 主控台建立生命週期規則,以在指定天數後,使儲存貯體中未完成的分段上傳位元組過期。下列程序說明如何新增生命週期規則,以在 7 天後刪除未完成的分段上傳。如需新增生命週期規則的詳細資訊,請參閱 在值區上設定生命週期組態。
新增生命週期規則以中止超過 7 天未完成的分段上傳
-
登入 AWS Management Console 並開啟 Amazon S3 主控台,位於https://console.aws.amazon.com/s3/
。 -
在 Buckets (儲存貯體) 清單中,選擇要建立生命週期規則的儲存貯體名稱。
-
選擇 Management (管理) 標籤,然後選擇 Create lifecycle rule (建立生命週期規則)。
-
在 Lifecycle rule name (生命週期規則名稱) 中,輸入規則的名稱。
在儲存貯體內,名稱必須是唯一的。
-
選擇生命週期規則的範圍:
-
若要針對具有特定字首的所有物件建立生命週期規則,請選擇 Limit the scope of this rule using one or more filters (使用一或多個篩選條件限制此規則的範圍),然後在 Prefix (字首) 欄位中輸入字首。
-
若要針對儲存貯體中的所有物件建立生命週期規則,請選擇 This rule applies to all objects in the bucket (此規則適用於儲存貯體中的所有物件),然後選擇 I acknowledge that this rule applies to all objects in the bucket (我確認此規則適用於儲存貯體中的所有物件)。
-
-
在 Lifecycle rule actions (生命週期規則動作) 下,選取 Delete expired object delete markers or incomplete multipart uploads (刪除過期物件標記或未完成的分段上傳)。
-
在 Delete expired delete markers or incomplete multipart uploads (刪除過期刪除標記或未完成的分段上傳) 下,選擇 Delete incomplete multipart uploads (刪除未完成的分段上傳)。
-
在 Number of days (天數) 欄位中,輸入要刪除幾天後未完成的分段上傳 (在此範例中,7 天)。
-
選擇建立規則。
以下 put-bucket-lifecycle-configuration
AWS Command Line Interface (AWS CLI) 命令會新增指定儲存貯體的生命週期組態。若要使用此命令,請以您的資訊取代
。user input placeholders
aws s3api put-bucket-lifecycle-configuration \ --bucket
\ --lifecycle-configuration
amzn-s3-demo-bucket1
filename-containing-lifecycle-configuration
下列範例說明如何新增生命週期規則,以使用 AWS CLI中止未完成的分段上傳。它包括一個示例JSON生命週期配置,用於中止超過 7 天的不完整分段上傳。
若要使用此範例中的CLI指令,請以您
的資訊取代。user input
placeholders
新增生命週期規則以中止未完成的分段上傳
-
設定 AWS CLI. 如需說明,請參閱使用 AWS CLI 來透過 Amazon S3 進行開發。
-
將下列範例生命週期組態儲存在檔案中 (例如,
生命週期
). 此範例組態會指定空白前置詞,因此會套用至值區中的所有物件。若要將組態限制為物件子集,您可以指定字首。
{ "Rules": [ { "ID": "Test Rule", "Status": "Enabled", "Filter": { "Prefix": "" }, "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 } } ] }
-
執行下列CLI命令,在儲存貯體上設定此生命週期組態。
aws s3api put-bucket-lifecycle-configuration \ --bucket
\ --lifecycle-configuration file://amzn-s3-demo-bucket1
lifecycle.json
-
若要驗證是否已在您的儲存貯體上設定生命週期組態,請使用下列
get-bucket-lifecycle
命令擷取生命週期組態。aws s3api get-bucket-lifecycle \ --bucket
amzn-s3-demo-bucket1
-
若要刪除生命週期組態,請如下使用
delete-bucket-lifecycle
命令。aws s3api delete-bucket-lifecycle \ --bucket
amzn-s3-demo-bucket1