请求者付费是一种将数据访问成本转移给请求方的计费模式,由发起数据请求的用户支付访问过程中产生的流量费用、请求次数费用,而存储桶拥有者只需支付存储费用等其他费用。当您希望共享数据,但又不希望承担数据访问过程产生的费用时,可以为存储桶开启请求者付费。本文介绍请求者付费的使用场景、费用说明,以及开启请求者付费的操作步骤等内容。
在存储桶开启请求者付费前,所有费用由存储桶拥有者支付。为存储桶开启请求者付费后,请求者需要支付访问过程中产生的流量费用、请求次数费用,存储桶所有者只需支付存储费用等其他费用,各自需要支付的计费项说明如下:
类别 | 计费项 | 支付者 |
---|---|---|
存储容量费用 | 存储桶拥有者 | |
存储不足规定时长容量费用 | 存储桶拥有者 | |
公网流出流量费用 | 请求者 | |
CDN 回源流量费用 | 请求者 | |
跨区域复制流量费用 | 存储桶拥有者 | |
跨域访问流量费用 | 存储桶拥有者 | |
Put 类型请求次数费用 | 请求者 | |
Get 类型请求次数费用 | 请求者 | |
取回请求次数费用 | 请求者 | |
数据取回费用 | 存储桶拥有者 | |
图片处理费用 | 存储桶拥有者 | |
图片高级压缩费用 | 存储桶拥有者 | |
视频截帧费用 | 存储桶拥有者 | |
异常图片检测费用 | 存储桶拥有者 | |
智能分层存储对象监控费用 | 存储桶拥有者 | |
临时存储容量费用 | 存储桶拥有者 | |
数据透视监控费用 | 存储桶拥有者 | |
传输加速费用 | 存储桶拥有者 |
访问请求者付费桶时,非存储桶拥有者的请求方必须在请求中携带 x-tos-request-payer
,且取值 requester
,以表明请求方已明确知悉,并同意承担访问过程中所产生的费用,否则请求会失败。具体携带方式说明如下:
x-tos-request-payer: requester
参数。x-tos-request-payer: requester
参数。x-tos-request-payer=requester
参数。例如调用 GetObject 从请求者付费桶中下载对象,请求示例如下:
GET /objectName HTTP/1.1 Host: bucketname.tos-cn-beijing.volces.com Date: GMT Date Authorization: authorization string x-tos-request-payer: requester
请求者付费功能仅用于控制访问费用的归属,并不替代原有的权限控制机制。非存储桶拥有者的请求方除了需要在请求中携带x-tos-request-payer: requester
外,还必须具备存储桶的访问权限,才能成功发起请求。
请求者付费桶的拥有者访问该桶时,无需携带 x-tos-request-payer
参数。当存储桶拥有者作为请求者访问该桶时,访问过程中产生的流量费用、请求次数费用由存储桶拥有者所属账户支付。
注意
启用请求者付费的存储桶不支持匿名访问。请求者在访问此类存储桶时必须提供身份验证信息,以便 TOS 能够识别请求者并对其收费。
关闭请求者付费后,存储桶所产生的访问费用将由存储桶拥有者承担,与请求者无关。