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

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

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

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

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

為 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。但需要經過幾分鐘才會讓新的組態生效。

注意

在將存儲桶配置為請求者付費之前,URLs應該仔細考慮預先簽名的存儲桶所有者,特別是如果URL具有較長的生命週期。每當請求者使用使用儲存貯體擁有者URL認證的預先簽署作業時,都會向儲存貯體擁有者收取費用。