本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定儲存貯體上的申請者付款
您可以將 Amazon S3 儲存貯體設定成申請者付款儲存貯體,因此是由申請者而非儲存貯體擁有者支付要求和資料下載成本費用。
本節提供如何使用 主控台和 REST 在 Amazon S3 儲存貯體上設定請求者付款的範例API。
為 S3 儲存貯體啟用申請者付款
登入 AWS Management Console 並在 Word 開啟 Amazon S3 主控台。 https://console.aws.amazon.com/s3/
-
在 Buckets (儲存貯體) 清單中,按一下要啟用申請者付款的儲存貯體名稱。
-
選擇 Properties (屬性)。
-
在 Requester pays (申請者付款) 底下,選擇 Edit (編輯)。
-
依序選擇 Enable (啟用) 和 Save changes (儲存變更)。
Amazon S3 隨即會為儲存貯體啟用申請者付款,然後顯示 Bucket overview (儲存貯體概觀)。您會在 Requester pays (申請者付款) 底下看到 Enabled (已啟用)。
只有儲存貯體擁有者可將儲存貯體的 RequestPaymentConfiguration.payer
組態值設成 BucketOwner
(預設值) 或 Requester
。requestPayment
資源為選擇性設定。儲存貯體預設不是申請者付款的儲存貯體。
若要將申請者付款的儲存貯體還原為一般的儲存貯體,請使用 BucketOwner
值。您一般會在將資料上傳至 Amazon S3 儲存貯體時使用 BucketOwner
,然後將值設成 Requester
,再於儲存貯體中發佈物件。
設定 requestPayment
-
使用
PUT
要求,在指定的儲存貯體上將Payer
值設成Requester
。PUT ?requestPayment HTTP/1.1 Host:
[BucketName]
.s3.amazonaws.com Content-Length: 173 Date: Wed, 01 Mar 2009 12:00:00 GMT Authorization: AWS[Signature]
<RequestPaymentConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Payer>Requester</Payer> </RequestPaymentConfiguration>
如果請求成功,Amazon S3 會傳回類似如下的回應。
HTTP/1.1 200 OK x-amz-id-2: [id] x-amz-request-id: [request_id] Date: Wed, 01 Mar 2009 12:00:00 GMT Content-Length: 0 Connection: close Server: AmazonS3 x-amz-request-charged:requester
您只可以設定儲存貯體層級的申請者付款。您無法設定儲存貯體內特定物件的申請者付款。
您可以隨時將儲存貯體設定成 BucketOwner
或 Requester
。但需要經過幾分鐘才會讓新的組態生效。
注意
提供預先簽署 URLs 的儲存貯體擁有者在將儲存貯體設定為請求者付款之前,應仔細考慮,特別是如果 URL 有很長的生命週期。每次請求者使用使用使用儲存貯體擁有者憑證的預先簽章 URL 時,都會向儲存貯體擁有者收取費用。