Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

设置 requestPayment 存储桶配置

只有存储桶拥有者才能将存储桶的 RequestPaymentConfiguration.payer 配置值设置为 BucketOwner (默认值) 或 Requester。设置 requestPayment 资源是可选的。默认情况下,存储桶不是申请方付款存储桶。

要将申请方付款存储桶恢复为常规存储桶,请使用值 BucketOwner。通常情况下,在将数据上传到 Amazon S3 存储桶时,您将使用 BucketOwner,然后将值设置为 Requester,才能在该存储桶中发布对象。

设置 requestPayment 的步骤

  • 使用 PUT 请求在指定存储桶上将 Payer 值设置为 Requester

    Copy
    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 将返回类似于以下内容的响应。

Copy
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 (使用存储桶拥有者的凭证) 时,会向存储桶拥有者收取费用。