

# 使用申请方付款通用存储桶进行存储传输和使用
<a name="RequesterPaysBuckets"></a>

通常，存储桶拥有者将支付与他们的存储桶相关联的所有 Amazon S3 存储和数据传输费用。但是，您可以将通用存储桶配置为*申请方付款*存储桶。使用申请方付款存储桶时，申请方（而不是存储桶拥有者）将支付请求和从存储桶下载数据的费用。存储桶拥有者将始终支付存储数据的费用。

通常情况下，当您想共享数据，而又不希望产生与访问数据等其他操作相关联的费用时，您可以将存储桶配置为申请方付款存储桶。例如，当提供大型数据集（如邮政编码目录、参考数据、地理空间信息或网络爬取数据）时，您可能会使用申请方付款存储桶。

**重要**  
如果您在通用存储桶上启用了申请方付款，则不支持匿名访问该存储桶。

您必须对涉及申请方付款存储桶的所有请求进行身份验证。请求身份验证使 Amazon S3 能够识别申请方对申请方付款存储桶的使用并对其收费。

当请求者在做出其请求前担任 AWS Identity and Access Management (IAM) 角色时，该角色所属的账户将负责处理此请求。有关 IAM 角色的更多信息，请参阅《IAM 用户指南》**中的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

在将桶配置为申请方付款桶后，申请方必须表明他们了解请求和数据下载将产生费用。为了表明他们接受这些费用，申请方必须在 DELETE、GET、HEAD、POST 和 PUT 请求的 API 请求中包含 `x-amz-request-payer` 作为标头，或者在其 REST 请求中添加 `RequestPayer` 参数。对于 CLI 请求，申请方可以使用 `--request-payer` 参数。

**Example – 删除对象时使用申请方付款**  
要使用以下 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) API 示例，请将 `user input placeholders` 替换为您自己的信息。  

```
DELETE /Key+?versionId=VersionId HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-mfa: MFA
x-amz-request-payer: RequestPayer
x-amz-bypass-governance-retention: BypassGovernanceRetention
x-amz-expected-bucket-owner: ExpectedBucketOwner
```

如果申请方使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) API 还原对象，则只要请求中包含 `x-amz-request-payer` 标头或 `RequestPayer` 参数，就会支持申请方付款；但是，申请方只需支付请求的费用。检索费用由桶拥有者支付。

申请方付款存储桶不支持以下内容：
+ 匿名申请
+ SOAP 请求
+ 将申请方付款存储桶用作最终用户日志记录的目标存储桶，反之亦然。但是，当目标存储桶不是申请方付款存储桶时，您可以在申请方付款存储桶上开启最终用户日志记录。

## 申请方付款的费用支付方式
<a name="ChargeDetails"></a>

成功的申请方付款请求费用简单明了：申请方支付数据传输和请求方面的费用；存储桶拥有者支付数据存储方面的费用。但是，在以下条件下会对存储桶拥有者收取请求费用：
+ 该请求返回 `AccessDenied`（HTTP `403 Forbidden`）错误，并且该请求是在存储桶拥有者的个人 AWS 账户或 AWS 组织内发起的。
+ 请求是 SOAP 请求。

有关申请方付款的更多信息，请参阅以下主题。

**Topics**
+ [申请方付款的费用支付方式](#ChargeDetails)
+ [在存储桶上配置申请方付款](RequesterPaysExamples.md)
+ [使用 REST API 检索 requestPayment 配置](BucketPayerValues.md)
+ [从申请方付款桶中下载对象](ObjectsinRequesterPaysBuckets.md)