設定儲存貯體上的申請者付款 - Amazon Simple Storage Service

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

設定儲存貯體上的申請者付款

您可以將 Amazon S3 儲存貯體設定成申請者付款儲存貯體,因此是由申請者而非儲存貯體擁有者支付要求和資料下載成本費用。

本節提供如何使用主控台和 REST API 設定 Amazon S3 儲存貯體上申請者付款的範例。

為 S3 儲存貯體啟用申請者付款
  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. Buckets (儲存貯體) 清單中,按一下要啟用申請者付款的儲存貯體名稱。

  3. 選擇 Properties (屬性)。

  4. Requester pays (申請者付款) 底下,選擇 Edit (編輯)

  5. 依序選擇 Enable (啟用)Save changes (儲存變更)

    Amazon S3 隨即會為儲存貯體啟用申請者付款,然後顯示 Bucket overview (儲存貯體概觀)。您會在 Requester pays (申請者付款) 底下看到 Enabled (已啟用)

只有儲存貯體擁有者可將儲存貯體的 RequestPaymentConfiguration.payer 組態值設成 BucketOwner (預設值) 或 RequesterrequestPayment 資源為選擇性設定。儲存貯體預設不是申請者付款的儲存貯體。

若要將申請者付款的儲存貯體還原為一般的儲存貯體,請使用 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

您只可以設定儲存貯體層級的申請者付款。您無法設定儲存貯體內特定物件的申請者付款。

您可以隨時將儲存貯體設定成 BucketOwnerRequester。但需要經過幾分鐘才會讓新的組態生效。

注意

分發預先簽章 URL 的儲存貯體擁有者,在將儲存貯體設定成申請者付款前應該慎思,特別是如果 URL 有很長的存活時間時。每次申請者使用利用儲存貯體擁有者登入資料的預先簽章 URL 時,儲存貯體擁有者都需要支付費用。